Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPMailer错误:SMTP->;错误:无法连接到服务器_Php_Smtp_Phpmailer - Fatal编程技术网

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

PHPMailer错误:SMTP->;错误:无法连接到服务器,php,smtp,phpmailer,Php,Smtp,Phpmailer,我整个上午都在用谷歌搜索,我想我现在需要Stackoverflow 我写了一个简单的脚本来发送邮件(从hotmail到gmail) 但我得到了这个错误: SMTP->错误:连接到服务器失败:连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机没有响应,建立的连接失败。(10060)SMTP连接()失败。错误 代码如下: <?php require_once("../includes/phpMailer/class.phpMailer.php"); require_once(

我整个上午都在用谷歌搜索,我想我现在需要Stackoverflow

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

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

代码如下:

<?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_路径-无值

SMTP-本地主机

smtp_端口-25


谢谢

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

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

我相信smtp.live.com上的端口25已被阻止。我也无法从这里连接到smtp.live.com:25。尝试使用端口587代替TLS。因此,它将是:

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

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

检查您的PHP是否正在使用openSSL扩展

  • 从已安装的php文件夹编辑php.ini
  • 搜索extension=php\u openssl.dll
  • 首字母看起来像这样;extension=php_openssl.dll
  • 删除“;”它看起来是这样的extension=php\u openssl.dll
  • 如果找不到扩展名=php_openssl.dll,请添加这一行扩展名=php_openssl.dll
  • 然后重新启动Xampp、LAMP或APACHE服务器(取决于您正在使用的服务器)

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

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

    检查您的PHP是否正在使用openSSL扩展

  • 从已安装的php文件夹编辑php.ini
  • 搜索extension=php\u openssl.dll
  • 首字母看起来像这样;extension=php_openssl.dll
  • 删除“;”它看起来是这样的extension=php\u openssl.dll
  • 如果找不到扩展名=php_openssl.dll,请添加这一行扩展名=php_openssl.dll
  • 然后重新启动Xampp、LAMP或APACHE服务器(取决于您正在使用的服务器)

  • 希望此方法能解决您的问题…

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

    使用端口80对我有效

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

    使用端口80对我很有效

    我尝试过,但我得到两个错误:这是来自服务器的端口:SMTP->220 BLU0-SMTP125.phx.gbl Microsoft ESMTP邮件服务[…]服务关闭传输通道SMTP Connect()失败。tls的错误和提示:警告:stream\u socket\u enable\u crypto()[]:此流不支持第254行C:\wamp\www\photo\gallery\includes\PHPMailer\class.smtp.php中的SSL/crypto,最后还有此错误:客户端->smtp:退出smtp->来自服务器:smtp->错误:smtp服务器拒绝退出命令:smtp Connect()失败。Error看起来您的服务器上可能没有安装TLS所需的加密库。您需要TLS或SSL通过smtp.live.com发送。作为解决办法,你有gmail帐户吗?如果是这样,您可以通过smtp.gmail.com发送,不需要SSL或TLS加密,在端口25上。是的,我有gmail帐户。你建议试试相反的方法,从gmail发送到hotmail吗?不,我建议用gmail来发送信息,而不是hotmail。因此,它将是$mail->Host=“smtp.gmail.com”$邮件->端口=25;并删除SMTPSecure线路。我尝试了,但仍然收到错误:SMTP->错误:连接到服务器失败:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应。(10060)SMTP连接()失败。错误我尝试了,但我得到两个错误:这是来自服务器220 BLU0-SMTP125.phx.gbl Microsoft ESMTP邮件服务[…]服务关闭传输通道SMTP Connect()失败的端口:SMTP->FROM。tls的错误和提示:警告:stream\u socket\u enable\u crypto()[]:此流不支持第254行C:\wamp\www\photo\gallery\includes\PHPMailer\class.smtp.php中的SSL/crypto,最后还有此错误:客户端->smtp:退出smtp->来自服务器:smtp->错误:smtp服务器拒绝退出命令:smtp Connect()失败。Error看起来您的服务器上可能没有安装TLS所需的加密库。您需要TLS或SSL通过smtp.live.com发送。作为解决办法,你有gmail帐户吗?如果是这样,您可以通过smtp.gmail.com发送,不需要SSL或TLS加密,在端口25上。是的,我有gmail帐户。你建议试试相反的方法,从gmail发送到hotmail吗?不,我建议用gmail来发送信息,而不是hotmail。因此,它将是$mail->Host=“smtp.gmail.com”$邮件->端口=25;并删除SMTPSecure线路。我尝试了,但仍然收到错误:SMTP->错误:连接到服务器失败:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应。(10060)SMTP连接()失败。错误您的主机公司/isp是否阻止端口?您的主机公司/isp是否阻止端口?呸,谢谢!这个答案给我省去了很多麻烦。OpenSSL PHP扩展在新安装时默认不启用(CentOS 6,PHP5.6)。呸,谢谢!这个答案帮我省了不少钱