最近有customer说收不到我们系统发的email,查了一段时间,总算有所收获,对SMTP也有了些许了解。
一开始以为是我们邮件服务器IP被blacklist了或对方把我们的IP给禁了。于是就试了下用telnet SMTP测试下:
telnet #customer.domain.com# 25
EHCO sdfa
MAIL FROM: <
from@xxx.com>
RCPT TO: <
to@xxxxxx.com>
DATA
.
QUIT
结果测试我们是可以telnet到对方的SMTP server的,这样发是可以发送成功的,即排除了对方把我们禁了的可能。可如果telnet到我们自己的SMTP server的话,就失败了。
telnet #own.domain.com# 25
...
后来查了很久,原来是因为timeout的原因:我们用的IMSS gateway有timeout机制。查Log发现,连接对方SMTP SERVER无问题,MAIL FROM command也无问题,可就在RCPT TO 这个command超时了,超过30s都没有response从对方SMTP SERVER回来,估计对方的SMTP SERVER不怎么好,parse和查找个email address (end user:
to@xxxx.com)都要花很长时间。后来我们就timeout的参数,从30s调到60s,果然就可以了,估计对方SMTP server之行RCPT TO这个命令都花了30-40s。
问题解决
posted on 2011-12-30 00:24
li40204 阅读(182)
评论(0) 编辑 收藏