tp5发送电子邮件

一、开启邮箱的SMTP服务

QQ邮箱设置方式:

点击设置:

点击账户

在最下面,有个开启

点开启会弹出个窗,上面有密码,记下密码

163邮箱设置方式:

其他邮箱都一样,获取授权码就行

二、下载类库文件

https://gitee.com/joytom/CSDN/tree/master

三、下载完成后放到vendor下面

四、执行操作

公共文件单独写一个发送邮件的公共方法:

common.php

<?php
function sendEmail($data = [])
    {
        Vendor('phpmailer.phpmailer');
        $mail = new \phpmailer\PHPMailer(); //实例化

        $mail->IsSMTP(); // 启用SMTP
        $mail->Host = 'smtp.qq.com'; //SMTP服务器 以QQ邮箱为例子
        $mail->Port = 465;  //邮件发送端口
        $mail->SMTPAuth = true;  //启用SMTP认证
        $mail->SMTPSecure = "ssl";   // 设置安全验证方式为ssl

        $mail->CharSet = "UTF-8"; //字符集
        $mail->Encoding = "base64"; //编码方式

        $mail->Username = '[email protected]';  //你的邮箱
        $mail->Password = 'SMTP的那个密码';  //你的密码
        $mail->Subject = '邮件标题'; //邮件标题

        $mail->From = '[email protected]';  //发件人地址(也就是你的邮箱)
        $mail->FromName = 'xxx';  //发件人姓名

        if($data && is_array($data)){
            foreach ($data as $k=>$v){
                $mail->AddAddress($v['user_email'], "亲"); //添加收件人(地址,昵称)
                $mail->IsHTML(true); //支持html格式内容
                $mail->Body = $v['content']; //邮件主体内容

                //发送成功就删除
                if ($mail->Send()) {
                    echo '发送成功';
                }else{
                    echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息
                }
            }
        }
    }

index.php(控制器下调用该方法)

<?php
namespace app\index\controller;
use think\Controller;
use think\Request;
class Index extends Controller
{
    public function index()
    {
    	if(request()->isPost())
    	{
            sendEmail([['user_email'=>'收件人的邮箱','content'=>'邮箱信息的内容']]);
    	}
    	else
    	{
    		return $this->fetch('index');
    	}
    }
}

 

效果展示:

猜你喜欢

转载自blog.csdn.net/qq_42249896/article/details/84437585