(一)  前期准备

首先得有个163邮箱的账号。注册登录后进入设置开启POP3/SMTP服务器。

 thinkPHP3.2.3发送邮件_服务器

 

需要手机验证,验证后会让你自己输入授权码,记住这个授权码,后面会用到。

 

如果原来已经开启了而忘记授权码的话可以去手机短信里面翻翻,可能可以找到;或者点击客户端授权码进行重置

 thinkPHP3.2.3发送邮件_客户端_02

 

(三)  代码部分

PHPMailer下载,下载后把PHPMailer解压放在/ThinkPHP/Library/Vendor目录下

 

链接:https://pan.baidu.com/s/1BnmGb5NAUems6Wu55mSbDg
提取码:9r3v

 

 

config.php 配置:

 

'MAIL_HOST' =>'smtp.163.com',//smtp服务器的名称

'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证

'MAIL_USERNAME' =>'zha****22@163.com',//发件人的邮箱名

'MAIL_PASSWORD' =>'olagbqsyeyhilcwu',//163邮箱发件人授权密码

'MAIL_FROM' =>'zha****22@163.com',//发件人邮箱地址

'MAIL_FROMNAME'=>'天空还下着雪',//发件人姓名

'MAIL_CHARSET' =>'utf-8',//设置邮件编码

'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮件

 

function.php公共函数:

/*
 * 发送邮件
 * @param $to string
 * @param $title string
 * @param $content string
 * @return bool
 * */
function sendMail($to, $title, $content) {
 Vendor('PHPMailer.PHPMailerAutoload');
 $mail = new PHPMailer(); //实例化
 $mail->IsSMTP(); // 启用SMTP
 $mail->Host=C('MAIL_HOST'); //smtp服务器的名称(这里以QQ邮箱为例)
 $mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证
 $mail->Username = C('MAIL_USERNAME'); //发件人邮箱名
 $mail->Password = C('MAIL_PASSWORD') ; //163邮箱发件人授权密码
 $mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址)
 $mail->FromName = C('MAIL_FROMNAME'); //发件人姓名
 $mail->AddAddress($to,"尊敬的客户");
 $mail->WordWrap = 50; //设置每行字符长度
 $mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件
 $mail->CharSet=C('MAIL_CHARSET'); //设置邮件编码
 $mail->Subject =$title; //邮件主题
 $mail->Body = $content; //邮件内容
 $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
 return($mail->Send());
}

 

 

控制器调用

 public function send(){
        if(sendMail('wengzx1294424625@163.com','你好!邮件标题','这是一篇测试邮件正文!')){
            echo"<meta charset='utf-8'>";
            echo '发送成功!';
        }
        else{
            echo '发送失败!';
        }
    }