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'=>'內容']]); - 加公眾號獲取更多資源