资讯专栏INFORMATION COLUMN

tp3.2使用QQ邮箱或163邮箱通过PHPMailer发送邮件

Harpsichord1207 / 1335人阅读

摘要:我之前一直使用邮箱发送需要处理的文件,但是如果操作过于频繁或者有别的问题,会导致发送失败,相反现在用的貌似还没出现过类似情况,不过邮箱配置和有一丢丢不一样,我还是贴一下,怕朋友们踩到坑建议大家用邮箱,建议大家用邮箱,建议大家用邮箱重要的事情

我之前一直使用163邮箱发送需要处理的文件,但是如果操作过于频繁【或者有别的问题】,会导致发送失败,相反现在用QQ的貌似还没出现过类似情况,不过QQ邮箱配置和163有一丢丢不一样,我还是贴一下,怕朋友们踩到坑(建议大家用qq邮箱,建议大家用qq邮箱,建议大家用qq邮箱)重要的事情说三遍!!!


1.下载PHPMailer,我这里推荐大家使用composer安装

"require": {
    "phpmailer/phpmailer":"*"
  }, 

2.使用PHPMailer,我这里先创建一个类去使用,直接上代码:

use PHPMailerPHPMailerException;
use PHPMailerPHPMailerPHPMailer;

class SendEmail
{
    public function __construct($options)
    {
        try {
            $mail = new PHPMailer(); //New instance, with exceptions enabled
            $mail->CharSet="UTF-8"; //这是设置中文的编码
            $body = $options["body"];  //发送的消息内容

            $mail->IsSMTP();                           // tell the class to use SMTP
            $mail->SMTPAuth = true;                  // enable SMTP authentication
            $mail->Port = $options["Port"];                    // set the SMTP server port
            $mail->Host = $options["Host"]; // SMTP server 网易是smtp.163.com这个,QQ邮箱是smtp.qq.com
            $mail->Username = $options["Username"];     // SMTP server username
            $mail->Password = $options["Password"];            // SMTP server password


            $mail->AddReplyTo($options["ReplyEmail"], $options["ReplyEmailName"]); //回复地址

            $mail->From = $options["From"];  //发送方的邮箱地址
            $mail->FromName = $options["FromName"];    //发送方的邮箱名

            $to = $options["to"];  //接收方的邮件地址

            $mail->AddAddress($to);

            $mail->Subject = $options["Subject"];

            $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
            $mail->WordWrap = 80; // set word wrap
            $mail->AddAttachment($options["AddAttachment"]); //可以添加附件

            $mail->MsgHTML($body);
            $mail->Send();
        } catch (Exception $e) {
            echo $e->errorMessage();
        }
    }
}

然后就在一个控制器上调用这个类就可以了,继续上代码:

$options = [
            "Port" => 25,  //网易是25端口,其实也不重要,qq照样能用
            "Host" => "smtp.qq.com",//网易是这个,QQ邮箱是smtp.qq.com
            "Username" => "********@qq.com", //发送邮件的帐号
            "Password" => "********",   //发送邮件帐号的客户端授权码
            "ReplyEmail" => "********@163.com",  //回复邮件的邮箱地址
            "ReplyEmailName" => "********",  //回复邮件的邮箱帐号
            "From" => "********@qq.com",  //发送邮件的邮箱帐号地址
            "FromName" => "********",  //发送邮件的邮箱帐号名称
            "to" => "********@qq.com",  //发送邮件的邮箱帐号名称
            "Subject" => "********",//标题
            "body" => "********",
            "AddAttachment" => dirname($_SERVER["DOCUMENT_ROOT"]) . "/html/test.png" //这是添加附件的东西
        ];
        $sendmial = new SendEmail($options);


最后说几个问题,Username的话,网易直接使用邮箱名即可,QQ邮箱请输入邮箱前缀【用户名】『eg.1214982635@qq.com
请输入1214982635』 Password网易直接输入邮箱密码即可【有授权码输授权码】,QQ请输授权码,发个短信就能生成
至此已经可以发送邮件了,附上两个邮箱互相发送成功的截图


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26140.html

相关文章

  • php 发送邮件(使用QQ邮箱)

    摘要:一,设置邮箱二,下载文件夹三,将文件夹放在网站根目录,或其他可引入的目录四,代码引入的核心文件实例化核心类是否启用的进行调试开发环境建议开启生产环境注释掉即可默认关闭调试模式使用鉴权方式发送邮件需要鉴权这个必须是链接域名邮箱的服务器地 一,设置qq邮箱 showImg(https://segmentfault.com/img/bVVugy?w=822&h=187); showImg(h...

    mmy123456 评论0 收藏0
  • thinkphp5+swoole实现异步邮件群发(SMTP方式)

    摘要:图中其他两个文件和是邮件发送类的核心文件,为了简化调用,抽取了出来,详细的用法和参数设置,可以参考的使用说明注意点在此步骤中,我们需要注意几点是你设置的邮件发送的账号是否已经开启并且找对对应的安全协议和端口号。 1、环境说明 阿里云centos7thinkphp5.0.11swoole2.0.8 2、tp实现邮件发送 在项目下建立如下的文件目录:showImg(https://segm...

    tuniutech 评论0 收藏0
  • 初探smtp协议

    摘要:初探协议百度百科即简单邮件传输协议它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。协议属于协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。服务器则是遵循协议的发送邮件服务器,用来发送或中转发出的电子邮件。 初探smtp协议 百度百科 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地...

    phpmatt 评论0 收藏0
  • 周报小系统,支持导出和邮件提醒

    摘要:并利用提供的云引擎服务实现在周五给全员发送邮件提醒填写周报,周六周日分别再次对未填人员发送邮件进行填写提醒。虽然提供的免费云引擎,本身就支持服务,但是免费版是做测试用的,会自动休眠,不够稳定,经常挂掉。 This just is a README. showImg(https://segmentfault.com/img/remote/1460000013260535);showImg...

    cheng10 评论0 收藏0
  • 周报小系统,支持导出和邮件提醒

    摘要:并利用提供的云引擎服务实现在周五给全员发送邮件提醒填写周报,周六周日分别再次对未填人员发送邮件进行填写提醒。虽然提供的免费云引擎,本身就支持服务,但是免费版是做测试用的,会自动休眠,不够稳定,经常挂掉。 This just is a README. showImg(https://segmentfault.com/img/remote/1460000013260535);showImg...

    baoxl 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<