发送邮件SendEmail类

Writer @ ybzai 2020-03-22 16:26 阅读(1336)

namespace common;

use PHPMailer\PHPMailer\PHPMailer;
/**
 * composer require phpmailer/phpmailer
 * 发送邮箱验证码
 */
class SendEmail
{  
   private static $from_url = '';
   private static $from_name = '';
   private static $host = 'smtp.qq.com';
   private static $port = '25';
   private static $smtp_secure = '';
   private static $username = '';
   private static $password = '';
    /**
     * 发送邮件
     * @author ybzai
     * @param string $address 收件人邮箱
     * @param string $subject 邮件标题
     * @param string $message 邮件内容
     * @return array<br>
     * 返回格式:<br>
     * array(<br>
     *    "error"=>0|1,//0代表出错<br>
     *    "message"=> "出错信息"<br>
     * );
     */
    public static function sendEmailVcode($address, $subject, $message)
    {
        $mail = new PHPMailer();
        // 设置PHPMailer使用SMTP服务器发送Email
        $mail->IsSMTP();
        $mail->IsHTML(true);
        //$mail->SMTPDebug = 2;
        // 设置邮件的字符编码,若不指定,则为'UTF-8'
        $mail->CharSet = 'UTF-8';
        // 添加收件人地址,可以多次使用来添加多个收件人
        $mail->AddAddress($address);
        // 设置邮件正文
        $mail->Body = $message;
        // 设置邮箱地址。
        $mail->From = self::$from_url;
        // 设置发件人名字
        $mail->FromName = self::$from_name;
        // 设置邮件标题
        $mail->Subject = $subject;
        // 设置SMTP服务器。
        $mail->Host = self::$host;
        //by Rainfer
        // 设置SMTPSecure。
        $Secure           = self::$smtp_secure;
        $mail->SMTPSecure = empty($Secure) ? '' : $Secure;
        // 设置SMTP服务器端口。
        $port       = self::$port;
        $mail->Port = empty($port) ? "25" : $port;
        // 设置为"需要验证"
        $mail->SMTPAuth    = true;
        $mail->SMTPAutoTLS = false;
        $mail->Timeout     = 10;
        // 设置用户名和密码。
        $mail->Username = self::$username;
        $mail->Password = self::$password;
        // 发送邮件。
        if (!$mail->Send()) {
            $mailError = $mail->ErrorInfo;
            return ["error" => 1, "message" => $mailError];
        } else {
            return ["error" => 0, "message" => "success"];
        }
    }
}
标签: PHP

感谢赞赏

微信支付
微信支付
支付宝
支付宝