评论

收藏

[PHP] ThinkPHP3.2利用QQ邮箱/163邮箱通过PHPMailer发送邮件的方法

开发技术 开发技术 发布于:2021-08-21 15:22 | 阅读数:288 | 评论:0

前言
我之前一直使用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
因为有蛮多版本,我这里把我用的封装好的版本分享出来,用其他版本的朋友可以用自己的就好
2.放置phpmailer
我是在根目录创建了名为【plugin】的专门放各类插件的文件夹,然后直接将phpmailer放在plugin文件夹下
DSC0000.png

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请输授权码,发个短信就能生成
至此已经可以发送邮件了,附上两个邮箱互相发送成功的截图
DSC0001.jpg

DSC0002.jpg

总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对CodeAE代码之家的支持。
原文链接:https://segmentfault.com/a/1190000012130611

关注下面的标签,发现更多相似文章