SMTP连接失败 - Localhost上的PHPMailer错误

时间:2015-06-14 09:51:25

标签: php email smtp phpmailer

我使用的是PHPMailer最新版本,我可以使用它发送电子邮件。但现在我不知道发生了什么?现在我无法使用它发送邮件。它给了我以下错误 -

Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

我还检查了openssl扩展名。

这是我的代码 -

<form method="post" action="mail.php">
  <input type="text" placeholder="Enter your email to subscribe" name="emailid" />
  <input type="submit" value="Submit" />
</form>

mail.php档案

的内容
<?php
$emailSubscr = $_POST['emailid'];
$sub = 'New Subscriber';
$message = $emailSubscr.' has subscribed for newsletter';

require 'phpmailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

//$mail->SMTPDebug = 3;

$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';     // SMTP Host Name
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'myusername@gmail.com';                 // SMTP username
$mail->Password = 'mypassword';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;                                    // TCP port to connect to

$mail->From = $emailSubscr;
$mail->FromName = 'Subscriber';
$mail->addAddress('me@example.com', 'Rohit Kumar');     // Add a recipient
$mail->addReplyTo($emailSubscr, 'Subscriber');

$mail->Subject = $sub;
$mail->Body    = $message;

if(!$mail->send()) {
    echo 'Some error occured, please try again later.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Thanks for subscribing our newsletter on your email id.';
}
?>

1 个答案:

答案 0 :(得分:1)

感谢Faiz Rasool。我的问题已经解决了。

  

你可以这样做吗$ mail-&gt; SMTPDebug = 3;并发布日志 - Faiz Rasool

实际上我使用移动宽带,其大部分时间都会改变其IP。昨天,当我尝试使用我的应用程序访问时,谷歌可能已经检测到我是可疑登录。
当我登录到我的Gmail帐户时,我看到一条通知要更改我的密码,因为我的应用程序无法登录我的帐户。你帮我了当我检查调试日志时,谷歌有一条消息说要通过网络浏览器登录。我这样做了,重置了密码,选择了可疑的登录尝试作为我,我的问题解决了.. 但主要的是,在设置谷歌的选项 - 允许不太安全的应用打开后,谷歌仍然有时阻止我的应用程序。我认为这背后的原因(我认为)是当我断开连接并重新连接移动宽带时,我的IP会发生变化。因此,我的位置发生了变化。 顺便说一句,我不再使用GMail帐户了解我的应用程序。