一、 下载PHPMailer
github连接:https://github.com/PHPMailer/PHPMailer
二、 在extend新建文件夹PHPMailer,并将PHPMailer-master\src里的SMTP.php、PHPMailer.php、Exception.php放入该文件夹。
三、 定义发送邮件方法
在common.php定义该方法。
use PHPMailer\PHPMailer;//引用
use PHPMailer\Exception;
use PHPMailer\SMTP;
/**
1. 发送邮件
*/
function send_mail($to,$title,$content)
{
try {
$mail = new PHPMailer(true);
$mail->SMTPDebug = 2;
$mail->CharSet = 'UTF-8';//包含中文字符
$mail->isSMTP();
$mail->Host = 'smtp.mxhichina.com'; //阿里邮箱的服务器地址
$mail->SMTPAuth = true;
$mail->Username = 'XXX';//授权邮箱
$mail->Password = 'XXX';//邮箱登陆密码
$mail->SMTPSecure = 'ssl';// 使用 ssl 加密方式登录
$mail->Port = 465;//smtp 服务器的远程服务器端口号
$mail->setFrom('XXX', 'XXX');//授权邮箱,发件人昵称
$mail->addAddress($to); // 收件人邮箱
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $title;//标题
$mail->Body = $content;//内容
return $mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
Exception($mail->ErrorInfo);
}
}
注意两点:一是阿里不同于QQ,不支持授权码,这里直接使用邮箱的登陆密码;二是如果出现Class ‘PHPMailer\PHPMailer\PHPMailer’ not found的问题,需要修改命名空间。打开PHPMailer.php,修改为namespace PHPMailer;
。
四、调用方法
$to='XXX@.com';
$title='找回密码';
$content='恭喜你,邮件测试成功。';
dump(send_mail($to,$title,$content));
五、测试