前两天一个客户要求网站能够自动发送电子邮件,Tp5的程序,果断必须使用PHPMailer函数包啊,在使用中有些问题今天整理一下,详细步骤发下让大家以后使用的时候少走弯路。
1.发件账号配置SMTP服务器(以QQ邮箱为例)
登录QQ邮箱点击设置
选择账户
开启POP3/SMTP服务
注意开启后会有一个授权码要保存好后面会用的!
2.PHPMailer函数包
下载地址:本站下载 github下载
3.解压下载文件将src文件夹里面的这三个文件放到extend/phpemail目录并修改命名空间
4.新建Email类代码如下并配置参数
<?php
namespace phpemail;
use phpemail\Exception;
class Email{
public function sendEmail($toEmail,$title,$content){
$mail = new PHPMailer(true);
//服务器设定
$mail->SMTPDebug = SMTP::DEBUG_SERVER; // 启用详细的调试输出
$mail->isSMTP(); // 使用SMTP发送
$mail->CharSet ='UTF-8'; // 设置邮件的字符编码
$mail->Host = 'smtp.qq.com'; // 设置SMTP服务器进行发送
$mail->SMTPSecure = 'ssl'; //设置使用ssl加密方式登录鉴权---------qq邮箱需要的------
$mail->SMTPAuth = true; // 启用SMTP身份验证
$mail->Username = 'xxxxx@qq.com'; // SMTP用户名
$mail->Password = 'xxxxxx'; // SMTP密码 开启SMTP服务时生产的授权码
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; //启用TLS加密; 鼓励使用PHPMailer :: ENCRYPTION_SMTPS
$mail->Port = 587; //设置ssl连接smtp服务器的远程服务器端口号 可选465或587
//收件者
$mail->setFrom('xxxxx@qq.com', 'Jink');
$mail->addAddress($toEmail, ''); //添加收件人
$mail->addReplyTo('xxxxx@qq.com', '');
// 内容
$mail->isHTML(true); // 将电子邮件格式设置为HTML
$mail->Subject = $title;
$mail->Body = $content;
if($mail->send()){
return 1;
}
}
}
5.在控制器中调用代码
$email= new Email();
$email_v=$email->sendEmail('xxxxx@qq.com',测试标题,测试内容); //第一个值为收件人邮箱
6.调试成功输出信息
调试成功后关闭调试模式即可正常使用
未经允许不得转载:Thinkphp5使用PHPMailer发邮件版权所有