PHPMailer错误:SMTP - >错误:无法连接到服务器

时间:2013-07-16 09:35:15

标签: php smtp phpmailer

我整个早上都试着谷歌,我想我现在需要Stackoverflow!

我写了一个简单的脚本来发送邮件(从hotmail到gmail) 但我得到这个错误:

SMTP - >错误:无法连接到服务器:连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而建立连接失败。 (10060)SMTP Connect()失败。错误

这是代码:

<?php
require_once("../includes/phpMailer/class.phpMailer.php");
require_once("../includes/phpMailer/class.smtp.php");


$to_name = "RECEIVER NAME";
$to = "RECEIVER@gmail.com";


$subject = "Mail test at " . strftime("%T", time());

$message = "This is a test message";
$message = wordwrap($message, 70);


$from_name = "MY NAME";
$from = "MY_EMAIL@hotmail.it";


$mail = new PHPMailer();

$mail->IsSMTP();
$mail->SMTPDebug  = 2;
$mail->Host = "smtp.live.com";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "MY USERNAME (hotmail)";
$mail->Password = "MY PASSWORD (hotmail)";


$mail->FromName = $from_name;
$mail->From = $from;
$mail->AddAddress($to, $to_name);
$mail->Subject = $subject;
$mail->Body = $message;

$result = $mail->Send();

echo $result ? 'Sent' : 'Error';

?>

另一个信息是,甚至标准的mail()函数都没有工作,检查php信息我发现了这个:

sendmail_from - MY PROPER MAIL(hotmail)

sendmail_path - 没有值

SMTP - localhost

smtp_port - 25

谢谢!

3 个答案:

答案 0 :(得分:5)

我认为端口25在smtp.live.com上被阻止。我也无法从这里连接到smtp.live.com:25。尝试使用端口587代替TLS。所以,它将是:

$mail->Port = 587;
$mail->SMTPSecure = 'tls';   

答案 1 :(得分:2)

我找到了解决此问题的方法,试试这个

检查您的PHP是否使用 openSSL 扩展程序......!

  1. 从已安装的php文件夹
  2. 编辑 php.ini
  3. 搜索 extension = php_openssl.dll
  4. 首字母将如下所示; extension = php_openssl.dll
  5. 删除&#39;;&#39;它看起来像 extension = php_openssl.dll
  6. 如果找不到 extension = php_openssl.dll ,请添加以下 extension = php_openssl.dll 行。
  7. 然后重新启动您的Xampp或LAMP或APACHE服务器(取决于您正在使用哪些服务器)。
  8. 希望这种方法能解决你的问题...

答案 2 :(得分:0)

您可能需要检查支持的端口。例如,我的主机通过端口25,3535和80支持smtp。
使用端口80为我工作