利用PHPMailer扩展,完成网易企业邮箱发送邮件功能

做了好几次发送邮件的功能了,都没有总结,今天总结一下吧,有什么不对的地方,可以留言,共同探讨

1.这次做的是网易的企业邮箱,网易的企业邮箱和别的邮箱还不一样,客户端设置特别简单,没有任何说明,找了老半天smtp的开启,就是没有,只有POP和IMAP两个,结果人家自动开启,根本不需要开启,最后设置客户端授权码,完成之后复制,保存好,页面关闭以后是不会再显示的

2.至于地址,网易有一个专门查看服务器地址的连接,如下,https://qiye.163.com/help/client-profile.html

3.然后,输入自己的公司申请的域名,查看邮件服务器地址,如下图: 然后复制发送邮件的服务器SMTP的地址写在配置文件里面

4.PHPMailer 可以用composer下载,下载完以后,直接引用

打开终端命令框进入项目的根目录,输入

composer下载的命令:composer require phpmailer/phpmailer

下载完成后会在项目的vender目录中,然后开始写方法代码

代码放在框架的公共方法common.php里面,方便调用

//发送邮件方法
use PHPMailer\PHPMailer\PHPMailer;
function sendEmail($email,$title,$content){
    try{
        $mail = new PHPMailer();

        $mail->SMTPDebug = 2;              //邮件调试模式 开发环境建议开启 生产环境注释掉即        
                                             可 默认关闭debug调试模式

        $mail->isSMTP();                   //设置邮件使用SMTP

        $mail->Host = 'smtphz.qiye.163.com'; // 设置邮件程序以使用SMTP

        $mail->CharSet='UTF-8';            // 设置邮件内容的编码

        $mail->SMTPAuth = true;            // 启用SMTP验证

        $mail->Username = '***@****.com';  // SMTP username  企业邮箱登录名

        $mail->Password = '******';        // SMTP password  客户端授权码

        $mail->SMTPSecure = 'ssl';         // 启用TLS加密,`ssl`也被接受

        $mail->Port = 465;                // 连接的TCP端口

        $mail->setFrom('[email protected]','无疆酒店管理系统');//设置发件人

        $mail->addAddress($email);        //  添加收件人1
//            $mail->addAddress('[email protected]');               // Name is optional

        $mail->addReplyTo('[email protected]');//收件人回复的邮箱
//            抄送
//            $mail->addCC('[email protected]');
//            $mail->addBCC('[email protected]');
        //附件
//            $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
//            $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name

        $mail->isHTML(true);              // 将电子邮件格式设置为HTML
   
        $mail->Subject = $title;          //设置邮件标题

        $mail->Body    = $content;        // 设置邮件内容

//            $mail->AltBody = '这是非HTML邮件客户端的纯文本';
        $res = $mail->send();
        if($res){
            $res = [
                'code' =>'1',
                'msg'  =>'Message has been sent'
            ];
            return $res;
        }

    }catch (Exception $e){
        $res = [
            'code'=>'-1',
            'msg'=>'Mailer Error: ' . $mail->ErrorInfo
        ];
        return  $res;
    }

猜你喜欢

转载自blog.csdn.net/hechenhongbo/article/details/103419973
今日推荐