2014年11月24日 星期一

Mail Server 信件傳送













Mail Server
是誰?

通常說要架Mail Server,就是要架一個MTA(Mail Transfar Agent),軟體有SendmailPostfix

過濾信件、自動回覆也是在MTA的郵件遞送代理人(Mail Delivery Agent)設定

MTA
中有MDA ( Mail Delivery Agent ),負責幫你判斷這封信是要收信還是準備要轉遞。

1. 當發信者不是自己,表示要接收此封信件到自己MTA的收信匣。
2. 當MTA收到發信者為自己的時候,就表示此封信是要轉送(relay)出去。

通常MTA會預設主機( localhost )可以使用轉送信件的功能,但是現在很多是動態的IP,所以另一個做法式,使用驗證發信者的『帳號與密碼』(圖步驟1)

當你MUA傳送給MTA時候(圖步驟1),你必須輸入帳號密碼,而且帳號密碼必須是MTA上認得的人!(就是只能使用Mail Server裡面的帳號,才能轉送信件)所以你使用google的Mail Server,使用yahoo的帳號密碼是不會成功的!因為google Mail Server 不認得你的yahoo帳號


步驟1成功後,後面怎麼傳送就是MTA的事情了,所以重要的是第一步要成功!


Mail Server溝通是SMTP協定

這個SMTP協定就是跟別人溝通、傳送、封包規格、Port等等的規範,就像國際通用語言是英文,中文是我,對照英文就是I ,這樣每個人都可以寄信給任何人,因為每台MTA都可以分析出這封信。

整個接收傳送信件的過程,都是使用SMTP協定! 
但是信件尚未送到對方那,對方打開信件,還是不會看到信,因為,信只會送到對方的MTA(圖步驟4)

所以對方如果說沒收到信件,可能是信件在傳送過程中,真的不見了,這個我們無從查起原因,另一個是,他沒有接收信件!


像是你從台灣,要轉帳錢錢到美國某個帳戶,你(MUA)先把錢給你在台灣銀行帳戶(MTA),然後台灣銀行幫你轉送(relay)中間不知道經過多少銀行後,錢終於到達了美國洛杉磯銀行的戶頭裡(MTA),但是如果使用者(MUA)沒有帶著存摺(POP3/IMAP)去領,永遠領不到錢!





使用者要『收信』怎麼跟Mail Server講?

如果要從自己的Mail Server看看收到哪些信件,MUA透過POP3/IMAP協定連接到MRA(mail Retrieval Agent),然後透過帳後密碼確認你,在幫你把Mail Server上面的信,傳送到主機(localhot)(圖步驟5)



總結

寄信收信(不是enduser收信,是MTA收信)必須要啟動SMTP協定
要收信(enduser收信)必須要有POP3/IMAP協定 



沒有留言:

張貼留言