[TP5] PHPMailer发送邮件核心代码
PHPMailer是一个用于发送电子邮件的PHP函数包。直接用PHP就可以发送,无需搭建复杂的Email服务。
- 首先启SMTP服务(使用PHP发送邮件需要用到SMTP服务 以QQ邮箱为例 如图:)
- 下载PHPMailer核心类
- 将下载好的文件放到application同级的vendor中(无需更改文件名直接放入即可 如图:)
- 放入文件后在application/common.php添加公共函数(可直接覆盖common.php 特殊使用者请自行CTRL+C/V)
<?php
use
phpmailer\phpmailer;
function
sendEmail(
$Host
,
$Password
,
$Subject
,
$From
,
$FromName
,
$data
= []) {
Vendor(
'phpmailer.phpmailer'
);
$mail
=
new
PHPMailer();
//实例化
$mail
->IsSMTP();
// 启用SMTP
$mail
->Host =
'smtp.'
.
$Host
.
'.com'
;
//SMTP服务器 以126邮箱为例子
$mail
->Port = 465;
//邮件发送端口
$mail
->SMTPAuth = true;
//启用SMTP认证
$mail
->SMTPSecure =
"ssl"
;
// 设置安全验证方式为ssl
$mail
->CharSet =
"UTF-8"
;
//字符集
$mail
->Encoding =
"base64"
;
//编码方式
$mail
->Username =
$From
;
//你的邮箱
$mail
->Password =
$Password
;
//你的密码
$mail
->Subject =
$Subject
;
//邮件标题
$mail
->From =
$From
;
//发件人地址(也就是你的邮箱)
$mail
->FromName =
$FromName
;
//发件人姓名
if
(
$data
&&
is_array
(
$data
)){
foreach
(
$data
as
$k
=>
$v
){
$mail
->AddAddress(
$v
[
'user_email'
],
"亲"
);
//添加收件人(地址,昵称)
$mail
->IsHTML(true);
//支持html格式内容
$mail
->Body =
$v
[
'content'
];
//邮件主体内容
//发送成功就删除
if
(
$mail
->Send()) {
echo
"发送成功"
;
}
else
{
echo
"Mailer Error: "
.
$mail
->ErrorInfo;
// 输出错误信息
}
}
}
}
?>
- 调用刚才添加的公共函数
sendEmail('邮箱类型','密码','主题','发件人邮箱','发件人姓名',[['user_email'=>'收件人邮箱','content'=>'内容']]);