PHPMailer邮件类


phpmailer 下载方式:

从 github 上下载: https://github.com/PHPMailer/PHPMailer/

在用户帮助中心中设置客户端授权

https://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac2cda80145a1742516

代码如下:

<?php

namespace app\mobile\controller;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\PHPMailer;

vendor('PHPMailer.src.PHPMailer');
vendor('PHPMailer.src.Exception');
vendor('PHPMailer.src.SMTP');


class Email extends Common
{
    public function email(){
        $mail = new PHPMailer();
        try{
            //服务器配置
            $mail->CharSet ="UTF-8";                     //设定邮件编码
            $mail->SMTPDebug = 0;                        // 调试模式输出
            $mail->isSMTP();                             // 使用SMTP
            $mail->Host = 'smtp.126.com';                // SMTP服务器
            $mail->SMTPAuth = true;                      // 允许 SMTP 认证
            $mail->Username = 'xxxx@126.com';                // SMTP 用户名  即邮箱的用户名
            $mail->Password = '授权码';             // SMTP 密码  部分邮箱是授权码(例如163邮箱)
            $mail->SMTPSecure = 'ssl';                    // 允许 TLS 或者ssl协议
            $mail->Port = 465;                            // 服务器端口 25 或者465 具体要看邮箱服务器支持

            $mail->setFrom('xxxxx@126.com', 'Mailer');  //发件人
            $mail->addAddress('xxxx@163.com', 'Joe');  // 收件人
            //$mail->addAddress('ellen@example.com');  // 可添加多个收件人
            $mail->addReplyTo('xxxx@126.com', 'info'); //回复的时候回复给哪个邮箱 建议和发件人一致
            //$mail->addCC('cc@example.com');                    //抄送
            //$mail->addBCC('bcc@example.com');                    //密送

            //发送附件
            // $mail->addAttachment('../xy.zip');         // 添加附件
            // $mail->addAttachment('../thumb-1.jpg', 'new.jpg');    // 发送附件并且重命名

            //Content
            $mail->isHTML(true);                                  // 是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容
            $mail->Subject = '这里是邮件标题' . time();
            $mail->Body    = '

这里是邮件内容

' . date('Y-m-d H:i:s'); $mail->AltBody = '如果邮件客户端不支持HTML则显示此内容'; $mail->send(); echo '邮件发送成功'; }catch (Exception $exception){ echo '邮件发送失败: ', $mail->ErrorInfo; } } }
结果如下

 注:Username值与发件邮箱为同一个。



PHP