详解tp5中phpmailer的使用

网站一般都具备一个功能,就是邮箱提醒功能;比如收到反馈信息来一条邮箱提醒,网站有了信息留言了来一条邮箱提醒等等。这时候我们就要用到phpmailer这个插件了。

插件可以到git下载 https://github.com/PHPMailer/PHPMailer


    下载下来后得到一个压缩包,我们只要里面两个文件,对的只要两个。把压缩包里边src目录的 PHPMailer.php 和 SMTP.php 提取出来。把它丢进tp5扩展extend中。

               


丢进去后就不用管了,接着下一步写一个发送邮件的方法。

为方便全站调用phpmailer,我们可以把方法写在common.php公用文件中

<?php
use PHPMailer\PHPMailer;
/**
* @desc 发送普通邮件
* @param $title 邮件标题
* @param $Address 收件人邮箱
* @param $body 邮件正文
* @return bool|string 返回是否发送成功
*/
function SendEmail($title, $Address, $body){
    $mail = new PHPMailer();//实例化
    $mail->IsSMTP();// 启用SMTP
    $mail->Host = "smtp.qq.com";//SMTP服务器 以qq邮箱为例子 还可以是smtp.163.com 等等其它的smtp服务地址
    $mail->Port = 465;//邮件发送端口 一般为465 不需要修改
    $mail->SMTPAuth = true;//启用SMTP认证
    $mail->SMTPSecure = "ssl";// 设置安全验证方式为ssl
    $mail->CharSet = "UTF-8";//字符集
    $mail->Encoding = "base64";//编码方式
    $mail->Username = "";//你的邮箱(是开启了smtp服务的邮箱,随便写是无效的)
    $mail->Password = "";//你的smtp服务密码(是服务密码不是登陆密码,写登陆密码也是无效的)
    $mail->From = "";//发件人邮箱地址(这里也填smtp服务邮箱就好)
    $mail->FromName = "";//发件人的名字(这个就随便了,什么阿猫阿狗都行)
  //下面这些不需要修改  
    $mail->Subject = $title;//邮件标题
    $mail->AddAddress($Address);//收件人邮箱
    $mail->IsHTML(true);//支持html格式内容 
    $mail->Body = $body;//邮件主体内容
    if ($mail->Send()) {
        return true;
    }else{
        return true; "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息 
    }
}

把以上该填写的配置好了之后就可以全局调用这个方法发邮箱了


<?php
namespace app\index\controller;
use app\common\controller\SysAction;

class Index extends SysAction
{
    public function index()
    {
        $title = '这里是邮箱标题!';
        $Address = 'xsuchen@qq.com';//收件人邮箱
        $body = '这是发送邮件的内容,这里是支持html格式的,比如 <div style="font-size:36px;">我是div标签,有没有字体很大了?</div>';
        //这里有三个参数,分别是 邮件标题,收件人邮箱,邮件内容
        $send = SendEmail($title, $Address, $body);
        if($send){
            echo "邮箱发送成功";
        } else {
            echo $send;
        };  
    }
}
只要运行上面方法就可以给指定的人发送邮件了,效果如下(smtp要配置好,不然是没效果的)


至于邮件内容美观度就要发挥html加css了。


分享

上一篇:没有了
下一篇:没有了

发表评论

提交评论

清空信息
关闭评论

评论列表