尝试使用PHPMailer通过gmail服务器发送电子邮件时出错。我不能说是什么问题我三重检查代码谷歌它没有找到为什么会发生这种情况。昨天昨天工作完美,我醒来再试一次并发送此错误。
错误如下:
SMTP错误:无法连接到服务器:没有到主机的路由(65)SMTP连接()失败。
代码是这样的:
$user = $_SESSION['user'];
$query = "SELECT email FROM rnmembers WHERE user='$user'";
$result = queryMysql($query);
$user_email_array = mysql_fetch_row($result);
$user_email = $user_email_array[0];
require_once('PHPMailer/PHPMailerAutoload.php');
$mail = new PHPMailer();
$body = file_get_contents('content.html');
$body = eregi_replace("[\]",'',$body);
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "ssl://smtp.googlemail.com"; // SMTP server
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Host = "ssl://smtp.googlemail.com"; // sets the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "email@gmail.com"; // SMTP account username
$mail->Password = "password"; // SMTP account password
$mail->SetFrom('oscar.panczenko.web@gmail.com', 'Virtual Tutors');
//$mail->AddReplyTo("email@gmail.com","Web Master");
$mail->Subject = "Your training appointment - Virtual Tutor.";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML($body);
$address = $user_email;
$mail->AddAddress($address, $user);
//$mail->AddAttachment("images/phpmailer.gif"); // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send())
{
echo "<br/ ><br />Mailer Error: " . $mail->ErrorInfo;
echo "<br />";
}
else
{
echo "<br /><br />Message sent!<br />";
}
任何提示?
亲切的问候。
的奥斯卡。
答案 0 :(得分:1)
错误原因:从不同的网络连接时,谷歌邮件服务器不会让您的网络应用程序连接。
此问题的原因不在代码或本地服务器上。当我将连接更改为其他热点时出现错误。
1)在家工作:工作完美。 2)去了麦当劳(我饿死了):突然出现了错误。 3)改变了热点:再次完美运作。
我注意到连接麦当劳热点时我的手机停止接收来自我的Gmail帐户的电子邮件,并说它也存在SMTP连接问题。
后来我发现在改变国家here时,另一个人遇到了同样的问题。
此外,当我尝试直接访问此Gmail帐户时,我收到了以下提示:
因此,如果您的服务器使用谷歌邮件SMTP,请务必在更改服务器网络连接之前考虑这一点。
如果有人有关于该主题的进一步信息,请分享。
问候。
的奥斯卡。