Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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
SMTP connect()失败的PHP邮件程序_Php_Email_Smtp_Phpmailer_Hotmail - Fatal编程技术网

SMTP connect()失败的PHP邮件程序

SMTP connect()失败的PHP邮件程序,php,email,smtp,phpmailer,hotmail,Php,Email,Smtp,Phpmailer,Hotmail,我正在尝试使用PHPMailer从我的hotmail帐户发送电子邮件。在我的电脑上工作正常,但当我在另一台电脑上尝试时,会收到以下错误消息: 2015-04-23 17:31:18客户端->服务器:EHLO本地主机 2015-04-23 17:31:18客户端->服务器:退出 2015-04-23 17:31:18 SMTP connect()失败。邮件错误 这是我的密码: <?php require "C:\wamp\www\PHPMailer-master\PHPMailerAutol

我正在尝试使用PHPMailer从我的hotmail帐户发送电子邮件。在我的电脑上工作正常,但当我在另一台电脑上尝试时,会收到以下错误消息:

2015-04-23 17:31:18客户端->服务器:EHLO本地主机
2015-04-23 17:31:18客户端->服务器:退出
2015-04-23 17:31:18 SMTP connect()失败。邮件错误

这是我的密码:

<?php
require "C:\wamp\www\PHPMailer-master\PHPMailerAutoload.php";
    $mail = new PHPMailer();
    $mail->SMTPSecure = 'SSL';
    $mail->Username = "b1sakher@hotmail.fr";
    $mail->Password = "rerered";
    $mail->AddAddress("b1sakher@hotmail.fr");
    $mail->FromName = "My Name";
    $mail->Subject = "My Subject";
    $mail->Body = "My Body";
    $mail->Host = "smtp.live.com";
    $mail->Port = 587;
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->From = $mail->Username;
  if(!$mail->Send())
    {
     echo "Mailer Error";
    }
    else
     {
    echo "Message has been sent";
    }
?>

首先,您应该在代码中添加“调试模式”,这将告诉您哪里出了问题

$mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->SMTPDebug = 2; //Alternative to above constant
我有一个类似的问题,但发现是Cpanel/WHM中的CFS防火墙阻塞了端口

  • 登录WHM
  • 转到ConfigServer安全和防火墙内部插件选项
  • 单击防火墙配置
  • 按SMTP设置筛选
  • 查找SMTP_ALLOWUSER选项并添加由coma分隔的Cpanel帐户用户名
  • 重新启动防火墙

  • 如果您无法访问WHM,请咨询您的主机提供商。

    此“另一台”PC上的587端口是否打开?可能的副本请在发布问题之前投入最微不足道的努力。这个问题以前被问过很多次,在中有详细介绍。您的代码也基于一个旧示例,因此您可能也在使用一个旧版本的phpmaierr。@EadhunDi:Telnet/ping远程pc/服务器上的端口,如果它回答了,它是打开的。