一:下载phpmailer类库。
我这里使用composer下载:
composer require phpmailer/phpmailer
二:开始使用
/**
* @name: 发送邮件方法
* @author: camellia
* @date: 2021-01-19
* @param: $email string 发送给谁
* @param: $mail_title string 邮件标题
* @param: $mail_body string 邮件内容
* @return: $result bool true/false
*/
public function send_mail($email, $mail_title, $mail_body)
{
$mail = new PHPMailer(true);
try {
/*
* 【一】服务器配置
*/
$mail->CharSet ="UTF-8"; //设定邮件编码
$mail->SMTPDebug = 0; //调试模式输出:0 不输出,2 输出
$mail->isSMTP(); //使用SMTP
$mail->Host = EMAIL_SERVER; // SMTP服务器:以QQ为例
$mail->SMTPAuth = true; // 允许 SMTP 认证
$mail->Username = SEND_EMAIL; // SMTP用户名: 即发送方的邮箱
$mail->Password = EMAIL_SECERT; // SMTP授权码: 即发送方的邮箱授权码
$mail->SMTPSecure = 'ssl'; // 允许 TLS 或者ssl协议
$mail->Port = 465;//*/ // 服务器端口: 25 或者465 或者587 具体要看邮箱服务器支持
/*
* 【二】收件人
*/
$mail->setFrom(SEND_EMAIL, "Mailer"); //发件人:邮箱与用户名
$mail->addAddress($email, 'Mailer'); //收件人1:可添加多个收件人//*/
//$mail->addAddress("收件人2的邮箱", '收件人2的用户名'); //收件人2:可添加多个收件人
//$mail->addReplyTo('xxxx@163.com', 'info'); //回复的时候回复给哪个邮箱 建议和发件人一致
//$mail->addCC('cc@example.com'); //抄送人
//$mail->addBCC('bcc@example.com'); //密送人
/*
* 【三】发送附件
*/
/*$mail->addAttachment('王庆国.mp4'); // 添加附件//*/
//$mail->addAttachment('fzs.png', 'haha.png'); // 发送附件并且重命名
/*
* 【四】发送内容
*/
$mail->isHTML(true); //是否以HTML文档格式发送 发送后客户端可直接显示对应HTML内容
$mail->Subject = $mail_title; //邮件标题
$mail->Body = $mail_body; //邮件内容
$mail->AltBody = '哈哈哈'; //邮件内容:如果邮件客户端不支持HTML则显示此内容//*/
/*
* 【五】发送请求
*/
$mail->send();
return true;//*/
}
catch (Exception $e)
{
return ['msg' => '邮件发送失败:'.$mail->ErrorInfo];
}//*/
}
邮件发送失败,会返回报错信息。
三:问题
邮件发送报错:
SMTP Error: Could not authenticate.
解决方法:重置邮箱秘钥即可
有好的建议,请在下方输入你的评论。
欢迎访问个人博客
https://guanchao.site
网友评论