【问题标题】:Correct settings for PHPMailer via a gmail account通过 gmail 帐户正确设置 PHPMailer
【发布时间】:2014-08-10 04:37:03
【问题描述】:

我正在尝试使用 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.';
 }

错误消息是-“消息未发送。邮件程序错误:SMTP 连接()失败。”

【问题讨论】:

    标签: php email gmail phpmailer


    【解决方案1】:

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

    • 您的 DNS 工作正常(尝试用一个 IP 代替 smtp.gmail.com)
    • stream_socket_clientfsockopen(或一般的 fopen 包装器)在 php.ini 中未被阻止或禁用
    • 检查您的防火墙没有阻止您
    • Read the troubleshooting docs

    【讨论】:

      猜你喜欢
      • 2012-05-20
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      • 2019-01-10
      • 1970-01-01
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多