為什麼收不到某些公司的信?
到iT邦幫忙

phsj1000(iT邦初學者10級)發問:
郵件伺服器是sendmail,管理3個網域名稱的郵件,其中2個都正常,但其中一個會收不到某些公司的信(包括Yahoo),請問可能原因是什麼?

wuhsienhao(iT邦初學者8級):
先從Log下手就對了,看看收不到的信件,和對方的伺服器是不是真有進行溝通,再來看看拒收的原因是什麼。

你可以先從Yahoo寄封信回公司,看Yahoo和你們的郵件伺服器有沒有溝通的記錄。如果沒有,那表示Yahoo並沒有把那封信寄出來,那就是寄件者問題,可能他的信箱容量的額度用完,或是那封信超過大小限制,所以信件沒有送出。

如果在Log中看到溝通的記錄,接下來就可以看Log的內容:

Sep 22 00:20:15 sw1 postfix/smtpd[16086]: warning: 1.2.3.4: hostname 1.2.3.4 a.com.tw verification failed: Host not found

這是我們公司的郵件Log,上面這段表示因為a.com.tw這臺主機不存在,所以不收該封信,這是垃圾郵件的防堵條件,要看你們有沒有類似的設定。另一種情況:

550 : Recipient address rejected: User unknown

這個原因是對方把收件人打錯了,所以郵件伺服器拒收。原則上郵件的問題,從Log上都看得出來。

此外,也可以查一下防火牆,是不是幾個異常的公司網域被擋掉了。因為另外兩個可以正常收發,表示sendmail是正常運作的,信進不來,就可能是防火牆的問題。

只要你的sendmail內部使用都正常,那麼對外的收發,就變成和防火牆與DNS伺服器有關係了。如果還有擋垃圾信,那Procmail也要檢查。

fireflybug(iT邦初學者7級):
郵件伺服器的Log一般都是放在「/var/log/maillog」中,可以用vi去看,應該就能找出問題了。

tsaiyunan(iT邦初學者10級):
建議你先檢查有問題網域的DNS設定。郵件發生問題,要先確認DNS的設定是否都正確無誤。

maxding(iT邦初學者9級):
1.從內部寄到Yahoo,然後看郵件Log中sendmail的SMTP Log。

2.從Yahoo寄到郵件伺服器,然後看sendmail裡面SMTP的log。

如果信寄出去,沒有被退信,那麼有可能在Yahoo信箱的垃圾信件匣。或者存在郵件伺服器的郵件佇列裡。如果被退信,就查看退信錯誤訊息是什麼。

熱門新聞

Advertisement