1

我的 PHP 邮件程序有问题,PHP 邮件程序在我的本地主机上工作,但在实时服务器上不工作

这是我的mailer.php

 <?php require("phpmailer/class.phpmailer.php"); // path to the PHPMailer class
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Mailer = "smtp";
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 465;
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "user@gmail.com"; // SMTP username
$mail->Password = "pswd"; // SMTP password

$mail->From = "example@gmail.com";
$mail->AddAddress("user@gmail.com");

$mail->Subject = "First PHPMailer Message";
$mail->Body = "Youy payment received";
$mail->WordWrap = 50;

if(!$mail->Send()) {
echo 'message not send';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message sent.';
}
?>

当我在服务器上运行它时显示此错误

SMTP Error: Could not authenticate. Message was not sent.Mailer error: SMTP Error: Could not authenticate.

请帮我

谢谢

4

2 回答 2

1

尝试查找$mail->IsSMTP();告诉班级使用 SMTP 并将其删除或注释如下的行:

//$mail->IsSMTP();

这样就可以了

于 2016-11-05T04:45:45.943 回答
0

@briosheje 是的,我确定我的用户名和密码正确,并且我的密码不包含任何特殊字符 – user2894216

可能,您也必须将用户名设置为 from 字段

$mail->Username = "user2894216"; // SMTP username
$mail->Password = "pswd"; // SMTP password
$mail->From = "user2894216";

顺便说一句,对于 gmail ssl://smtp 邮件服务不需要编写域。只有用户名

于 2013-10-19T08:04:24.733 回答