我尝试使用PHPMailer通过以下代码从XAMPP上的本地虚拟主机发送电子邮件。我在php.ini中启用了extension = php_openssl.dll,但仍然收到以下错误消息。谁知道为什么?
require_once 'PHPMailerAutoload.php';
require_once 'class.phpmailer.php';
require_once 'class.smtp.php';
$mail = new PHPMailer(true);
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;
$mail->Username = "xxx";
$mail->Password = "xxx";
$email = "xxx@gmail.com";
$name = "Test";
$email_from = "xxx@gmail.com";
$name_from = "Test";
$mail->AddAddress($email, $name);
$mail->SetFrom($email_from, $name_from);
$mail->Subject = "My Subject";
$mail->Body = "Mail contents";
try{
$mail->Send();
echo "Success!";
} catch(Exception $e){
echo "Fail - " . $mail->ErrorInfo;
}
错误输出: SMTP错误:密码命令失败:534-5.7.14 SMTP错误:无法进行身份验证。
答案 0 :(得分:0)
对于那些使用PHPMailer身份验证失败的问题,并且所有设置和凭据都很好的人,请尝试使用此方法:
$mail->AuthType = 'LOGIN';
在尝试发送电子邮件的PHP中。
我奋斗了最长的时间,直到我添加了这个。
干杯。