我正在尝试通过PHP Mailer发送邮件,我有一个像这样的错误
错误:
SMTP错误:MAIL FROM命令失败:530-5.5.1需要验证。了解更多信息,请点击530 5.5.1 https://support.google.com/mail/?p=WantAuthError s8sm44466998pfj.45 - gsmtp 以下发件人地址失败:我的电子邮件地址@gmail.com:MAIL FROM命令失败,需要验证。在https://support.google.com/mail/?p=WantAuthError s8sm44466998pfj.45了解更多信息 - gsmtp,530,5.5.1SMTP服务器错误:MAIL FROM命令失败详细信息:需要验证。了解更多信息 消息无法发送
<?php
require_once ('PHPMailer-master/class.pop3.php');
require_once ('PHPMailer-master/class.smtp.php');
require_once ("PHPMailer-master/class.phpmailer.php");
require_once ("PHPMailer-master/PHPMailerAutoload.php");
$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPAuth = false;
$mail->SMTPDebug =1;
$mail->Debugoutput = 'html';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->Username = "my email address";
$mail->Password = "email password";
$mail->setFrom("email address","name");
$mail->addAddress("my friend email address");
$mail->Subject = 'First Mailer in Php';
$mail->Body= 'this is first mail...sending through php code';
if(!$mail->send()){
echo "Message cannot be send"."<br/>";
echo "MailerError".$mail->ErrorInfo;
exit;
}else{
echo "<script>window.alert('Message has been sent');</script>";
}
?>
任何人都可以帮我弄清楚这里发生了什么。 ?感谢
答案 0 :(得分:0)
你错过了这个变量:
$mail->SMTPSecure = "tls";
OR
$mail->SMTPSecure = "ssl";
尝试其中一个。
答案 1 :(得分:0)
不要只是在代码中添加随机内容,希望它能提供帮助!其中唯一需要的是自动加载器。将您的代码基于the gmail example provided with PHPMailer,或者至少是自述文件中提供的基本示例。
从错误消息中您可以确切地看到问题所在 - 当您设置了Username
和Password
属性时,您已禁用身份验证。像这样启用它。
$mail->SMTPAuth = true;
您还使用旧版本的PHPMailer,因此get the latest。