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

 更新时间:2017年11月28日 09:59:57   作者:zero风来  
最近因为工作的需要,要实现给我们的网站用户发送邮件的需求,所以下面这篇文章主要给大家介绍了关于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.jb51.net/201711/yuanma/phpmailer(jb51.net).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请输授权码,发个短信就能生成

至此已经可以发送邮件了,附上两个邮箱互相发送成功的截图

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • php实现只保留mysql中最新1000条记录

    php实现只保留mysql中最新1000条记录

    这篇文章主要介绍了php实现只保留mysql中最新1000条记录的方法和相关示例及数据库结构,十分的全面,有需要的小伙伴可以参考下。
    2015-06-06
  • PHP中的socket_read和socket_recv区别详解

    PHP中的socket_read和socket_recv区别详解

    这篇文章主要介绍了PHP中的socket_read和socket_recv区别详解,本文从源码上分析了这两个函数的不同之处,需要的朋友可以参考下
    2015-02-02
  • PHP的switch判断语句的“高级”用法详解

    PHP的switch判断语句的“高级”用法详解

    这篇文章主要介绍了PHP的switch判断语句的“高级”用法详解,其实本文讲解的还是它的基础用法,需要的朋友可以参考下
    2014-10-10
  • PHP+Mysql分布式事务与解决方案深入理解

    PHP+Mysql分布式事务与解决方案深入理解

    这篇文章主要介绍了PHP+Mysql分布式事务与解决方案深入理解,有感兴趣的同学可以学习下
    2021-02-02
  • laravel 解决强制跳转 https的问题

    laravel 解决强制跳转 https的问题

    今天小编就为大家分享一篇laravel 解决强制跳转 https的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • php中的boolean(布尔)类型详解

    php中的boolean(布尔)类型详解

    本文是对php中的boolean(布尔)类型进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • php阻止页面后退的方法分享

    php阻止页面后退的方法分享

    这篇文章主要介绍了php阻止页面后退的方法,让后退的页面不存在就可以阻止页面后退,怎么让页面不存在呢,临时生成的页面就可以,下面用实例说明这个方法
    2014-02-02
  • PHPUnit安装及使用示例

    PHPUnit安装及使用示例

    PHPUnit是一个用PHP编程语言开发的开源软件,是一个单元测试框架。PHPUnit由Sebastian Bergmann创建,源于Kent Beck的SUnit,是xUnit家族的框架之一。本文将介绍PHPUnit的安装方法以及一则使用示例。
    2014-10-10
  • php远程请求CURL实例教程(爬虫、保存登录状态)

    php远程请求CURL实例教程(爬虫、保存登录状态)

    这篇文章主要给大家介绍了关于php远程请求CURL(爬虫、保存登录状态)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • php jsonp单引号转义

    php jsonp单引号转义

    JSONP(JSON with Padding)是一个非官方的协议,他的实现方式大致就是:让客户端决定要回调的Javascript函数名,在第三方服务端将 JSON 数据拼装到回调函数名中,返回的就是参数为JSON数据的函数调用脚本,浏览器加载脚本并执行达到获取第三方数据的目的。
    2014-11-11

最新评论