详解tp5中phpmailer的使用

2019-06-04 21:23:53  阅读 4274 次 评论 2 条

网站一般都具备一个功能,就是邮箱提醒功能;比如收到反馈信息来一条邮箱提醒,网站有了信息留言了来一条邮箱提醒等等。这时候我们就要用到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 = 'aaa@qq.com';//收件人邮箱
        $body = '这是发送邮件的内容,这里是支持html格式的,比如 <div style="font-size:36px;">我是div标签,有没有字体很大了?</div>';
        //这里有三个参数,分别是 邮件标题,收件人邮箱,邮件内容
        $send = SendEmail($title, $Address, $body);
        if($send){
            echo "邮箱发送成功";
        } else {
            echo $send;
        };  
    }
}


只要运行上面方法就可以给指定的人发送邮件了,效果如下(smtp要配置好,不然是没效果的)


QQ截图20190604212757.png


微信扫码查看本文
本文地址:https://www.yangguangdream.com/?id=2036
版权声明:本文为原创文章,版权归 编辑君 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

评论列表

  1. 访客
    访客  @回复

    给你提个BUG啊,我先在一个窗口F12打开调试,在把网址复制过去,就能愉快的使用浏览器的调试模式了

    • 编辑君
      编辑君 2022-05-18 11:05:55  回复

      @访客感谢,我之所以没限制死是防止有些弟弟扒我的网站,有这个细心程度和这个能力的,我相信大部分的素质还是值得我信任的。