【发布时间】:2023-01-13 22:44:41
【问题描述】:
所以,我使用 phpMailer 通过 gmail smtp 发送邮件,这是我的代码
use PHPMailer\PHPMailer\PHPMailer;
require 'vendor\autoload.php';
define('GMailUSER', 'gigabattleboard@gmail.com');
define('GMailPWD', '****************');
function smtpMailer($to, $from, $from_name, $subject, $body) {
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;
$mail->Username = GMailUser;
$mail->Password = GMailPWD;
$mail->SetFrom($from, $from_name);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($to);
if(!$mail->Send()) {
return 'Mail error: '.$mail->ErrorInfo;
} else {
return true;
}
}
$result = smtpmailer('fainfutia@mail.com', 'gigabattleboard@mail.com', 'Giga Battleboard', 'Message', 'Subject');
if (true !== $result)
{
echo $result;
}
在激活双因素验证后,我在我使用的谷歌帐户上创建了一个应用程序密码。但我仍然得到同样的错误:
2023-01-13 14:21:05 SMTP 错误:密码命令失败:535-5.7.8 用户名和密码未被接受。在 535 5.7.8 https://support.google.com/mail/?p=BadCredentials s23-20020a1cf217000000b003d1e3b1624dsm29449744wmc.2 - gsmtp 了解更多 SMTP 错误:无法验证。
不幸的是,错误给出的链接并没有给我带来任何结论。 我该如何摆脱这个?
【问题讨论】: