一、安装 composer
composer require phpmailer/phpmailer
安装完成后会在 vendor 目录下看到 phpmailer 文件夹。
二、打开 SMTP 服务(以 QQ 邮箱为例)
点击设置,选择账户:找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务
这一项.
找到 POP3/SMTP 服务,点击开启,即可获得 16 位授权码,将授权码记住,后面会用到。
三、实现代码
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\PHPMailer;
/**
* 邮件发送,传入邮件接收人和邮件内容
* @param array $data
* @return int
*/
function sendEmail($data = [])
{
$mail = new phpmailer(); //实例化
try {
$mail->IsSMTP(); // 启用SMTP
$mail->Host = 'smtp.qq.com'; // SMTP 服务器,以 qq 邮箱为例子
$mail->Port = 465; // 邮件发送端口
$mail->SMTPAuth = true; // 启用 SMTP 认证
$mail->SMTPSecure = "ssl"; // 设置安全验证方式为 ssl
$mail->CharSet = "UTF-8"; // 字符集
$mail->Encoding = "base64"; // 编码方式
$mail->Username = 'edwinpan1995@qq.com'; // 发件人邮箱
$mail->Password = '************'; // 邮箱授权码是授权码,不是邮箱密码,就是我们航材获取到的授权码
$mail->Subject = '通信设备巡检管理系统工单通知'; // 邮件标题
$mail->From = 'edwinpan1995@qq.com'; // 发件人邮箱
$mail->FromName = '工单管理人员'; // 发件人姓名
if ($data && is_array($data)) {
$mail->AddAddress($data['email']); // 添加收件人
$mail->IsHTML(true); // 支持html格式内容
$mail->Body = $data['content']; // 邮件主体内容
if ($mail->Send()) {
return 1;
} else {
return 0;
}
}
}catch (Exception $e){
die("Message could not be sent. Mailer Error: {$mail->ErrorInfo}");
}
}
使用的时候,邮件标题等可根据需要改动,需传入收件人的邮箱和邮件内容。
- arrow_back记一次让我心态爆炸的微信小程序真机调试
- arrow_forward文章关键字提取