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


PHPMailer error: SMTP -> ERROR: Failed to connect to server

我整个上午都在谷歌上搜索,我想我现在需要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-我的正确邮件(hotmail)

sendmail_path-无值

SMTP-localhost

smtp_port-25

谢谢!!

我认为smtp.live.com上的端口25被阻止。我也无法从这里连接到smtp.live.com:25。请尝试使用带有TLS的587端口。因此,它将是:

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

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

检查您的PHP是否使用openSSL扩展。。。!

  1. 从安装的php文件夹中编辑php.ini
  2. 搜索extension=php_openssl.dll
  3. 首字母将如下所示;extension=php_openssl.dll
  4. 删除";"它看起来像是扩展名=php_openssl.dll
  5. 如果找不到扩展名=php_openssl.dll,请添加此行的扩展名=php _openssl.dll
  6. 然后重新启动您的Xampp、LAMP或APACHE服务器(取决于您使用的是哪一个)

希望这个方法能解决你的问题。。。