通过PHPMailer发送邮件

时间:2016-12-21 07:15:17

标签: php email error-handling phpmailer

我正在尝试通过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>";
   }

 ?>

任何人都可以帮我弄清楚这里发生了什么。 ?感谢

2 个答案:

答案 0 :(得分:0)

你错过了这个变量:

$mail->SMTPSecure = "tls";

OR

 $mail->SMTPSecure = "ssl";

尝试其中一个。

答案 1 :(得分:0)

不要只是在代码中添加随机内容,希望它能提供帮助!其中唯一需要的是自动加载器。将您的代码基于the gmail example provided with PHPMailer,或者至少是自述文件中提供的基本示例。

从错误消息中您可以确切地看到问题所在 - 当您设置了UsernamePassword属性时,您已禁用身份验证。像这样启用它。

$mail->SMTPAuth = true;

您还使用旧版本的PHPMailer,因此get the latest