Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
PHP邮件:无法连接到邮件服务器_Php_Email - Fatal编程技术网

PHP邮件:无法连接到邮件服务器

PHP邮件:无法连接到邮件服务器,php,email,Php,Email,此代码适用于我的一台服务器,但不适用于另一台服务器 我收到“警告:邮件()[function.mail]:无法连接到邮件服务器” 你能帮我提供可能的原因吗? 我可以在两个框上ping邮件主机 这让我发疯 您是否安装了postfix、sendmail或您正在使用的任何东西?PHP本身并不发送邮件,这只是一个“包装器”函数,可以方便地格式化电子邮件 还要检查您的服务器是否有类似IPTables的防火墙阻止对端口25的访问。原来我有一个阻止端口的mcafee防火墙关闭了。已启用对Windows的内部S

此代码适用于我的一台服务器,但不适用于另一台服务器 我收到“警告:邮件()[function.mail]:无法连接到邮件服务器” 你能帮我提供可能的原因吗? 我可以在两个框上ping邮件主机
这让我发疯

您是否安装了postfix、sendmail或您正在使用的任何东西?PHP本身并不发送邮件,这只是一个“包装器”函数,可以方便地格式化电子邮件


还要检查您的服务器是否有类似IPTables的防火墙阻止对端口25的访问。

原来我有一个阻止端口的mcafee防火墙关闭了。已启用对Windows的内部Sendmail支持(根据phpinfo),您是否在Windows上?smtp/smtp_端口选项仅适用于Windows主机。在Unix/Linux上,PHP将直接调用sendmail或等效程序。您是否在计算机上运行SMTP服务器(例如IIS?)它必须在端口25上运行并主动侦听,再加上允许从localhost进行连接,再加上允许从localhost进行匿名连接。否。SMTP服务器位于不同的框中。我可以ping smtp服务器。同样,我将代码放在不同的服务器上,它工作正常。“连接失败”可能就是这样。如果服务器上有telnet客户端,请尝试将telnet从服务器连接到smtp服务器的端口25。如果无法连接,则是网络问题。如果它确实连接了,那么php和/或iis就有问题了。我发现了这个问题。是da**McAfee阻止了端口(不是防火墙)。谢谢你的帮助
ini_set("SMTP","xx.xx.xx.xx");
ini_set("smtp_port","25");
ini_set("sendmail_from","info@yoursite.com");
$to = "xxa@txxs.com";
$subject = "Test";
$subject = ltrim($subject);
$message = "Test";
$message = ltrim($message);
$headers = "Test";
mail($to,$subject,$message,$headers, 'O DeliveryMode=b');