通过Gmail帐户更正PHPMailer的设置

时间:2014-06-19 15:10:15

标签: php email gmail phpmailer

我正在尝试使用PHPMailer在我的网站上设置一个简单的电子邮件功能。我正在测试我自己的Gmail帐户,只是发送测试邮件给自己。我正在Mac上运行MAMP PRO。我已经看到了大量的问题,并花了一个下午研究它,但我所看到的一切都归结为对正确设置的冲突建议,使用端口487与465等等。我尝试过以下各种设置的多种组合($ mail) - > SMTPSecure ='tls',端口587,但是'ssl'代表端口465。我不断收到这个连接错误。如果有人对这个错误有什么想法我会非常感激。我已经记得包括我的代码中的相关文件。

 mail = new PHPMailer();
 $mail->IsSMTP();  
 $mail->Host     = "smtp.gmail.com"; 
 $mail->From     = "me@gmail.com";
 $mail->AddAddress("me@gmail.com");
 $mail->SMTPAuth = true;
 $mail->SMTPSecure = 'tls';
 $mail->Port = 587;
 $mail->username = "me@gmail.com";
 $mail->password = "mypassword";
 $mail->Subject  = "First PHPMailer Message";
 $mail->Body     = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
 $mail->WordWrap = 50;

 if(!$mail->Send()) {
   echo 'Message was not sent.';
   echo 'Mailer error: ' . $mail->ErrorInfo;
 } else 
   echo 'Message has been sent.';
 }

错误消息是 - “消息未发送.Mailer错误:SMTP连接()失败。”

1 个答案:

答案 0 :(得分:1)

你的代码看起来不错 - 我肯定会在587上使用TLS。这个错误通常取决于你正在运行的环境 - 检查以下内容:

  • 您的DNS正在运行(尝试用IP代替smtp.gmail.com)
  • 在php.ini中未阻止或禁用stream_socket_clientfsockopen(或一般的fopen包装器)
  • 检查您的防火墙是否阻止了您
  • Read the troubleshooting docs