mail routing tracking – 郵件路由追蹤

對一般公司來說,電子郵件非常重要!!就曾遇上一位副總,為了電子郵件不能正常運作,而跑到IT單位大吼大叫,只差沒掄起拳頭來!!那是我剛到前東家任職的一開始的某些時刻!!

那時我也不負責網管相關的事!!後來因為興趣,才又向主管申請轉入該部門!!後來因為病毒及社交工程等資安問題,郵件主機開始導入相關防禦設施,如果本身伺服器因為OPEN RELAY而被列入黑名單,那麼信件就會被退回!!

一開始我是有點驚訝,因為沒人會去檢查日誌? 因為惟有系統日誌能夠告訴你,究竟發生了什麼事??而我驚訝的便是,很多工程師非常怠隋於追蹤日誌的內容!!甚至我曾經遇上一位早期的工程師,目前已位居主管,他跟我說,就中午的時候重開一下郵件主機,反正大家都去吃飯,不會有人發現,是的,這就是早期的IT”標準”作法吧??如果是懂而不做,那是懶,但真是不懂,卻掌握著公司的命脈服務,那是不是有點要命?

一個最基本的概念,如果一封電子郵件不能寄出,它會在佇列裡排隊!!在系統嘗試了設定許可的重試之後,才會正式放棄,並退回給使用者!!在系統日誌會顯示信件傳送的歷程紀錄!!

另一個基本概念,伺服器只要收送信件時,會給出一個MESSAGE ID,由此做為追蹤的基礎!!比方說,今早我送出的一個測試信件!!由我的VAIO筆電送出,在送信主機(SMTP主機)上的MESSAGE ID便是871907C243CA4A4A96BB7432147F7B67!! 送件人是dora,寄送給我的gmail,你會發現在我的群暉郵件主機,以及GMAIL的原始郵件中顯示的MESSAGE ID都是一致的!!如圖

這是GMAIL上顯示的郵件原始檔

這是SYNOLOGY上的郵件日誌紀錄,因為看不清,我另外匯出為HTML檔案

我的SYNOLOGY IP為192.168.0.22, 我收到信後,是朝192.168.0.18轉送, 因為這裡才有固定IP,GMAIL才不會拒絕或退信或送入垃圾郵件

這是我在群暉NAS上的設定,啟動SMTP RELAY,送到0.18的郵件外送主機上!!一般網管,應該適當規劃郵件運送的路由!!

當0.18的外送郵件主機收到EMAIL後,它也會給出一個MESSAGE ID,表示我收到這EMAIL了,而這是向0.22告知的…

所以我可以用MESSAGE ID : B611A1E4040, 在0.22裡追蹤到此郵件!!

在GMAIL原始檔可以看到0.18給出的MESSAGE ID,如紅框內

在0.22的郵件主機裡,以此MESSAGE ID B611A1E4040尋找,可以找到該郵件系統日誌,如圖

當0.22送信主機送到GMAIL那裡時,GMAIL的第一台收信主機也給出一個message ID表示它收到了,STATE=SENT(這才算正常送出), 在0.22裡可以看到此ID,如圖內紅框

比對一下GMAIL上看到的原始檔..ID是不是一樣,一樣吧!!

如果你仔細看GMAIL原始檔,會得知在送給真正收信人時,GMAIL內部又經過了兩台內部的郵件主機轉送信件,這可以說是一般的常態,通常企業都會有個前端的收信主機,再往後端實際郵件存放的主機送件,以此例來說,只要我送到了你前端收信主機,就代表我們這一邊的送信機制完全正常了,如果對方沒收到信,那就是他們前後台郵件轉送上自己出了問題,同樣地,對方的IT,應該透過MESSAGE ID去追蹤信件目前被QUEUE在那裡了!!

仔細看一下下圖,在收到0.22的我方主機送進GMAI的收件主機後,後面又有兩台郵件主機轉送了信件,每經過一個IP(一台郵件主機),都會看到有MESSAGE ID!!

By Kevin

發佈留言