最近因为工作的需要,要实现给我们的网站用户发送邮件的需求,所以下面这篇文章主要给大家介绍了关于ThinkPHP3.2利用QQ邮箱/163邮箱通过PHPMailer发送邮件的方法,需要的朋友可以参考借鉴,下面随着小编来一起来学习学习吧。
前言
我之前一直使用163邮箱发送需要处理的文件,但是如果操作过于频繁【或者有别的问题】,会导致发送失败,相反现在用QQ的貌似还没出现过类似情况,不过QQ邮箱配置和163有一丢丢不一样,我还是贴一下,怕朋友们踩到坑,下面话不多说了,来一起看看详细的介绍吧。
PHPMailer的优点:
- 可运行在任何平台之上
- 支持SMTP验证
- 发送邮时指定多个收件人,抄送地址,暗送地址和回复地址;注:添加抄送、暗送仅win平台下smtp方式支持
- 支持多种邮件编码包括:8bit,base64,binary和quoted-printable
- 支持冗余SMTP服务器,即可以指定主smtp服务器地址也只可以指定备份smtp服务器
- 支持带附件的邮件,可以为邮件添加任意格式的附件—当然得你的服务器有足够大的带宽支撑
- 自定义邮件头信息,这跟php中通过header函数发送头信息类似
- 支持将邮件正文制作成HTMl内容,那么就可以在邮件正文中插入图
- 片
- 灵活的debug支持
- 经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imail,Exchange等
1.下载PHPMailer
因为有蛮多版本,我这里把我用的封装好的版本分享出来,用其他版本的朋友可以用自己的就好
下载地址:http://xiazai.mobange.com/201711/yuanma/phpmailer(mobange.com).rar
2.放置PHPMailer
我是在根目录创建了名为【Plugin】的专门放各类插件的文件夹,然后直接将PHPMailer放在Plugin文件夹下
3.美滋滋地撸码吧
我将我这边的码放上来,大家可以根据需要修改
function sendMail($to,$title,$content){
require('./Plugin/phpmailer/class.phpmailer.php');
try {
$mail = new \PHPMailer(true);
$mail->IsSMTP();
$mail->SMTPSecure = 'ssl';
$mail->CharSet = 'UTF-8';
$mail->SMTPAuth = true; //开启认证
$mail->Port = 465; //网易为25
$mail->Host = "smtp.qq.com";
$mail->Username = "******"; //qq此处为邮箱前缀名 163为邮箱名
$mail->Password = "******";
$mail->AddReplyTo("******@qq.com", "******");//回复地址
$mail->From = "******@qq.com";
$mail->FromName = '******';
$mail->AddAddress($to);
$mail->Subject = $title;
$mail->Body = $content;
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //当邮件不支持html时备用显示
$mail->WordWrap = 80; // 设置每行字符串的长度
//$mail->AddAttachment("f:/test.png"); //可以添加附件
$mail->IsHTML(true);
$mail->Send();
echo '邮件已发送';
} catch (phpmailerException $e) {
echo "邮件发送失败:" . $e->errorMessage();
}
}
直接将上述代码更改复制进你的控制机即可
需要注意的地方:
$mail->Port = 465; //网易163 25
$mail->Host = "smtp.qq.com";
$mail->Username = "**"; //qq此处为邮箱前缀名 163为邮箱名
$mail->Password = "******";
这一块,网易的Port为25
Username的话,网易直接使用邮箱名即可,QQ邮箱请输入邮箱前缀【用户名】『eg.1214982635@qq.com 请输入1214982635』
Password网易直接输入邮箱密码即可【有授权码输授权码】,QQ请输授权码,发个短信就能生成
至此已经可以发送邮件了,附上两个邮箱互相发送成功的截图
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程学习网的支持。
本文标题为:ThinkPHP3.2利用QQ邮箱/163邮箱通过PHPMailer发送邮件的方法
基础教程推荐
- PHP中的错误及其处理机制 2023-06-04
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- php array分组,PHP中array数组的分组排序 2022-08-01
- 使用PHP开发留言板功能 2023-03-13
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- PHP命名空间简单用法示例 2022-12-01
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12