找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 558|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 05:21:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            前言
我之前一直使用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->ort = 465; //网易为25
      $mail->Host = "smtp.qq.com";
      $mail->Username = "******"; //qq此处为邮箱前缀名 163为邮箱名
      $mail->assword = "******";
      $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->ort = 465; //网易163 25
      $mail->Host = "smtp.qq.com";
      $mail->Username = "**"; //qq此处为邮箱前缀名 163为邮箱名
      $mail->assword = "******";
    这一块,网易的Port为25
    Username的话,网易直接使用邮箱名即可,QQ邮箱请输入邮箱前缀【用户名】『eg.1214982635@qq.com 请输入1214982635』
    Password网易直接输入邮箱密码即可【有授权码输授权码】,QQ请输授权码,发个短信就能生成
    至此已经可以发送邮件了,附上两个邮箱互相发送成功的截图


    总结
    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
                
                
    您可能感兴趣的文章:
  • phpmailer在服务器上不能正常发送邮件的解决办法
  • phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
  • PHP邮件发送类PHPMailer用法实例详解
  • 使用PHPMailer实现邮件发送代码分享
  • thinkphp使用phpmailer发送邮件的方法
  • PHP借助phpmailer发送邮件
  • 汇总PHPmailer群发Gmail的常见问题
  • phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
  • phpmailer简单发送邮件的方法(附phpmailer源码下载)
  • php使用phpmailer发送邮件实例解析
  • phpmailer绑定邮箱的实现方法
  • PHPMailer发送邮件
  • 使用PHPMailer发送邮件实例
  • PHP插件PHPMailer发送邮件功能
  • Linux服务器下PHPMailer发送邮件失败的问题解决
  • PHPMailer使用QQ邮箱实现邮件发送功能
  • phpmailer发送邮件功能
  • 实例分析PHP中PHPMailer发邮件
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端