争怎路由网/网站教程/内容

php如何引入PHPMailer发送邮件的步骤讲解(附代码)

网站教程2024-04-05 阅读
网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。
本篇文章给大家带来的内容是关于php如何引入PHPMailer发送邮件的步骤讲解(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

昨天做了一个发送邮件的功能,如果直接用mail()函数,需要拥有自己的邮件服务器,所有引入PHPMailer类方便快捷,简单写一下开发步骤:

一、拥有自己的邮箱账号(作为发件人邮箱)

  分两种情况:

  1、如果是企业邮箱,需要用到的参数为邮箱号和密码

  2、如果是个人邮箱,需要用到的参数为邮箱号和授权码(只有开启之后才能通过PHP代码,控制邮件的自动发送)

php如何引入PHPMailer发送邮件的步骤讲解(附代码)

二、PHPMailer的下载

  下载地址:https://github.com/PHPMailer/PHPMailer

  我这里是用的thinkphp 5,下载后放到vendor目录

三、封装发送邮件方法,设置相关参数

具体代码如下,这里我用的是企业邮箱,如果是个人邮箱,需更改以下几个参数值:

$mail->Host,$mail->Port,发件人邮箱密码(授权码)

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/10/15 0015
 * Time: 13:33
 */
namespace app\common\model;
require VENDOR_PATH . 'PHPMailer/src/Exception.php';
require VENDOR_PATH . 'PHPMailer/src/PHPMailer.php';
require VENDOR_PATH . 'PHPMailer/src/SMTP.php';

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception ;
class Mail
{
    //发件人邮箱
    private static $_fromAddress = '***@medpeer.cn';
    //发件人邮箱登录密码(非企业邮箱为授权码)
    private static $_pwd = '***';
    //收件人邮箱
    private static $_toAddress = '***@medpeer.cn';

    /**
     * 发送邮件
     * @author ZZ
     * @param string $fromAddress 发件人
     * @param string $pwd 发件人登录密码
     * @param string $toAddress 收件人
     * @param string $title 邮件题目
     * @param string $content 邮件内容
     * @return array
     */
    public function sendMail($title,$content,$toAddress = '',$fromAddress = '',$pwd = ''){
        if (empty($title) (专业提供视频软件下载)

(专业提供视频软件下载)

empty($content)) { return ['result' => false, 'msg' => '参数错误']; } if (empty($fromAddress)) { $fromAddress = self::$_fromAddress; $pwd = self::$_pwd; } if (empty($toAddress)) { $toAddress = self::$_toAddress; } $mail = new PHPMailer(); //告诉PHPMailer使用SMTP $mail->isSMTP(); //启用SMTP调试 // 0 =关闭(供生产使用) // 1 =客户端消息 // 2 =客户端和服务器消息 $mail->SMTPDebug = 2 ; //设置邮件服务器的主机名 $mail->Host = 'smtp.exmail.qq.com'; //使用 // $ mail-> Host = gethostbyname('smtp.gmail.com'); //如果您的网络不支持SMTP over IPv6 //设置SMTP端口号 - 587用于经过身份验证的TLS,即RFC4409 SMTP提交 $mail->Port = 465; //设置加密系统使用 - ssl(不建议使用)或tls $mail->SMTPSecure = 'ssl'; //是否使用SMTP身份验证 $mail->SMTPAuth = true ; //用于SMTP身份验证的用户名 - 使用gmail的完整电子邮件地址 $mail->Username = $fromAddress; //用于SMTP身份验证的密码(企业邮箱的话为登录密码) $mail->Password = $pwd; //设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码 $mail->CharSet = 'UTF-8'; //设置要从中发送消息的人员 $mail->setFrom($fromAddress,'***'); //设置备用回复地址 //$mail->addReplyTo('***@qq.com','腾讯'); //设置要将消息发送给谁 $mail->addAddress($toAddress,'***'); //设置主题行 $mail->Subject = $title; //从外部文件中读取HTML邮件正文,将引用的图像转换为嵌入式图像 //将HTML转换为基本的纯文本替代正文 //$mail->msgHTML(file_get_contents(' contents.html '),__DIR__); //用手动创建的纯文本正文替换 $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; $mail->Body = $content; $result = $mail->send(); if (!$result) { return ['result' => false, 'msg' => $mail->ErrorInfo]; } else { return ['result' => true, 'msg' => '成功发送邮件消息'] ; } } }

以上就是php如何引入PHPMailer发送邮件的步骤讲解(附代码)的详细内容,更多请关注php中文网其它相关文章!

  • 微信

  • 网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。



    ……

    标签:php如何引入PHPMailer发送邮件的步骤讲解(附代码)
    相关阅读