我很困惑,我正在尝试通过PHP发送电子邮件,但我遇到了一个特定的邮件服务器问题,另一个工作正常。
当我尝试时:
$smtp_conn = fsockopen('mail.onedomain.com',25,$errno,$errstr,30);
echo $errno . '<br>' . $errstr;
我明白了:
110
Connection timed out
但是...
我转到开始&gt; cmd,然后写:
telnet mail.onedomain.com 25
我得到了:
220 server1.onedomain.local Microsoft ESMTP MAIL Service Ready at Sat, 21 Jan 2012 00:05:04 +0100
我不明白这一点,连接是用telnet进行的,但是我不能在PHP中用相同的参数进行...有人有任何想法吗?
我怀疑问题是邮件服务器的错误配置,但是......我怎么能说明?
谢谢! 卡尔斯。
答案 0 :(得分:0)
telnet
工作正常,但php fscokopen
失败了。
解决方案: - 使用ip代替服务器而不是CNAME。
所以而不是:
$smtp_conn = fsockopen('mail.onedomain.com',25,$errno,$errstr,30);
echo $errno . '<br>' . $errstr;
使用:
$smtp_conn = fsockopen('000.000.000.000',25,$errno,$errstr,30);
echo $errno . '<br>' . $errstr;