今天在調(diào)試一個(gè)客戶郵件服務(wù)器postfix的時(shí)候遇到了傳說(shuō)中的551錯(cuò)誤("551 User not local; please try [forward-path]")
錯(cuò)誤現(xiàn)象是這樣的,用戶采用smtp認(rèn)證的方式自己給自己的郵箱發(fā)信,outlook或者foxmail會(huì)報(bào)551錯(cuò)誤或者直接報(bào)未知錯(cuò)誤。
而如果給別的信箱發(fā)信就不會(huì)有問(wèn)題,在本機(jī)采用webmail發(fā)信也很正常。
很快就可以排除是postfix郵件系統(tǒng)的問(wèn)題,因?yàn)槲业卿浀椒?wù)器上采用telnet手工smtp認(rèn)證發(fā)信沒(méi)有任何問(wèn)題。
那么問(wèn)題一定出現(xiàn)在通往郵件服務(wù)器的路由中,只能通過(guò)抓包分析了。
我在我的本機(jī)采用wireshark抓包
同時(shí)郵件服務(wù)器采用tcpdump -w packet tcp port 25將數(shù)據(jù)包保存為文件packet
然后我在本機(jī)通過(guò)smtp發(fā)信,重復(fù)錯(cuò)誤現(xiàn)象,然后將兩邊抓到的包用wireshark分析,結(jié)果果然不出所料。
先看截圖(ip地址和郵箱域名等已經(jīng)被處理掉) 1。郵件服務(wù)器端的截圖
圖中紅色圈中可以看到,mail from指令和rcpt to指令服務(wù)器都正確的返回了250 OK
但是在隨后藍(lán)色圈中突然不斷收到rst中斷連接。
2。本地客戶端的截圖
圖中紅色圈中可以看到,服務(wù)器返回的信息由250 OK被替換成了"551 User not local; please try [forward-path]"。
隨后又是一堆的Rst中斷連接。 注意,藍(lán)色圈中是服務(wù)器的真正返回,但是這時(shí)候連接已經(jīng)中斷,沒(méi)有意義了。