PHP无法在邮件中连接到邮件服务器.OURDOMAIN.com端口25..但是,我可以通过telnet测试邮件


PHP Failed to connect to mailserver at mail.OURDOMAIN.com port 25 .... However, I can telnet test mail through

网上有一百万条关于这个错误的帖子:无法连接到"mail.OURDOMAIN.com"端口25的邮件服务器,请验证php.ini中的"SMTP"answers"SMTP_port"设置或使用ini_set()

以下是事实:

在我们的网站被迫加入公司的大型SMTP服务器池之前,我们的配置运行良好(使用由另一个组管理的SMTP服务器)。一旦我们将SMTP服务器条目指向新的SMTP服务器,就会出现"连接失败"问题。

我可以telnet到邮件。OURDOMAIN.com 25,并成功地手动发送了一封测试邮件——它应该可以工作。

我在php.ini中有正确的设置,并且我已经重新启动了Web服务器。

我也对这些设置使用了ini_set(),并得到了相同的结果。

很奇怪。。。这里有什么建议吗?

我用这个代码来测试:

<?php 
//change this to your email. 
$to = "joe.guy@OURDOMAIN.com"; 
$from = "joe.guy@OURDOMAIN.com"; 
$subject = "Hello! This is HTML email"; 
$message = "hello";
$headers  = "From: $from'r'n"; 
$headers .= "Content-type: text/html'r'n"; 
mail($to, $subject, $message,$headers); 
echo "Message has been sent....!"; 
?>

以下是我的php.ini设置:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = mail.OURDOMAIN.com
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = joe.guy@OURDOMAIN.com
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path = "'"C:'xampp'sendmail'sendmail.exe'" -t"

尝试使用域的ip地址而不是名称。这对我来说已经奏效很多次了。

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = 127.0.0.1  

ie:您自己的ip smtp服务器ip地址