我整个早上都试着谷歌,我想我现在需要Stackoverflow!
我写了一个简单的脚本来发送邮件(从hotmail到gmail),但是我收到了这个错误:
SMTP - >错误:无法连接到服务器:连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而 Build 连接失败 . (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 回答
我相信端口25在smtp.live.com上被阻止 . 我也无法从这里连接到smtp.live.com:25 . 尝试使用端口587代替TLS . 那么,它将是:
我找到了解决这个问题的方法,试试这个
检查你的PHP是否正在使用 openSSL 扩展名......!
从已安装的php文件夹中编辑 php.ini
搜索 extension=php_openssl.dll
初始看起来像这样 ;extension=php_openssl.dll
删除';',它看起来像这样 extension=php_openssl.dll
如果找不到 extension=php_openssl.dll ,请添加此行 extension=php_openssl.dll .
然后重新启动Xampp或LAMP或APACHE服务器(取决于您使用的是哪一个) .
希望这种方法能解决你的问题......
您可能需要检查支持的端口 . 例如,我的主机通过端口25,3535和80支持smtp .
使用端口80为我工作