Godaddy VDS smtp发信失败原因分析

版权声明:转载 Godaddy VDS smtp发信失败原因分析 时请以超链接形式标明文章出自 正确的方法 !!!
https://cn.chinese-blog.org/godaddy-vds-smtp-shi-bai/

用DreamMail连接smtp服务器, 总是失败, 于是查换错误:

smtp失败的解决过程

http://www.blogcn.com/user17/cailinaaa/blog/20904664.html
http://wlx.westgis.ac.cn/322/

# vi /etc/rc.d/init.d/saslauthd
加入 DAEMON_ARGS=-r 

# vi /usr/lib/sasl2/smtpd.conf
最后加入log_level: 7

然后重新启动服务:
# /etc/rc.d/init.d/postfix restart
# /etc/rc.d/init.d/saslauthd restart

照以上操作还是失败, 在服务器上找不到seandmail.mc文件

读取邮件日志分析错误

http://help.godaddy.com/article.php?article_id=1456&topic_id=91#logs
/var/log/maillog (Postfix Log)
mailq (List out all messages in your outbound queue)
postcat -q $mailq_message_number | more (Read the contents of an email in your outbound queue) 

后来找到这篇文章, 相信就是这个原因了:

http://bbs.zdnet.com.cn/viewthread.php?tid=97413

截图分析传说中gfw造成的551 User not local错误
今天在调试一个客户邮件服务器postfix的时候遇到了传说中的551错误("551 User not local;     please try [forward-path]") 
错误现象是这样的,用户采用smtp认证的方式自己给自己的邮箱发信,outlook或者foxmail会报551错误或者直接报未知错误。 
而如果给别的信箱发信就不会有问题,在本机采用webmail发信也很正常。 
很快就可以排除是postfix邮件系统的问题,因为我登录到服务器上采用telnet手工smtp认证发信没有任何问题。 
那么问题一定出现在通往邮件服务器的路由中,只能通过抓包分析了。 

我在我的本机采用wireshark抓包 同时邮件服务器采用tcpdump -w packet tcp port 25将数据包保存为文件packet 然后我在本机通过smtp发信,重复错误现象,然后将两边抓到的包用wireshark分析,结果果然不出所料。 


2。本地客户端的截图 

图中红色圈中可以看到,服务器返回的信息由250 OK被替换成了"551 User not local; please try [forward-path]"。 随后又是一堆的Rst中断连接。 
注意,蓝色圈中是服务器的真正返回,但是这时候连接已经中断,没有意义了。 

3。很明显,双方的连接在通讯途中被干预了。更能证明这一点的一个例子是ttl值的变化。 


正常情况下服务器返回信息Ip包头中的ttl值是48,大约经过了16跳。 而"551 User not local; please try [forward-path]"这条消息的ttl值是50,发生什么事情已经很明显了。。 


在google上可以搜索到很多关于551错误的例子,从大家的评论来看,这件事情多半是gfw干的了。 
只是我不太明白的是,gfw管这个做什么,出于什么目的?:em12: 

补充:根据iceblood的提醒,我检查了一下邮件服务器,果然是放在国外的。 
看来邮件服务器放在国外,使用smtp自己给自己发信就会被gfw

伟大的gfw, 千年难得的盛世才有,只有猪才会做这样的事。

Godaddy VDS smtp发信失败原因分析
https://cn.chinese-blog.org/godaddy-vds-smtp-shi-bai/

作者 tuenhai:这个星球上对大道理解最为深刻的人,著有《道解相对论》《圣医治国——黄帝内经客观点评》《理性即慧根》《父母怎么教育孩子》。咨询微信或QQ (备注 tuenhai.com)

相关文章: