0514-86177077
9:00-17:00(工作日)
什么是MUA、MTA、MDA以及信件如何送達 MUA(Mail User Agent):用戶端使用者電腦用來收信和寄信的軟體,如Outlook Express MDA(Mail Delivery Agent):負責將MTA所收的信,分派到各個帳戶的郵件信箱。 MTA(Mail Transfer Agent):MTA就是郵件伺服器,他是負責幫使用者做郵件傳送的服務,使用者要寄的信和要收的信,都是要透過MTA喔! 主要的功能: 1.傳送使用者要寄出的信件:MTA會先判別使用者要寄的信是內部郵件或外部郵件,內部郵件會轉到收件人的信箱(mailbox),如果是外部郵件就會傳送到目的地的MTA。 2.接收外部主機寄來的信件:只要是MTA上面有的帳戶都會被收下來。 3.讓使用者把自己的信收回去:使用者可以將郵件主機的信經由MUA收到自己的電腦上。 在了解MUA、MTA、MDA之后,接下來就來看看信件寄出的流程。 Step1.寄件人利用MUA寄信到MTA。 Step2.本地MTA會將自己的信收下來,并由MDA派送到該帳號的郵件信箱。 Step3.將外部的信件轉送出去。 Step4.遠端MTA接收本地MTA所發出的信件。 Step5.遠端MTA交由MDA派送到該帳號的郵件信箱,等待使用者下載。 Step6.收件人利用MUA將信件收下來。 貳、使用的通訊協定 1.寄信:大部份的郵件主機都是使用SMTP協定,port number是25,而MUA會用SMTP協定來連接MTA將信件送出。 2.外部郵件傳送:本地MTA到目的MTA也是使用SMTP協定來溝通。 3.收信:收信時最常用的通訊協定是POP3協定,port number是110,所以MUA會使用POP3協定來連接到MTA的郵件信箱讀取信件。 參、認識Relay與認證機制 在上面的寄信流程的Step3,MTA在分析收到的郵件之后,如果不是主機本身的帳號,就會將該信件傳送到目的MTA主機上。所以說任何人都可以經由你的主機來發信嚕,這樣你的主機就會變的很慢很慢,而且你的網路頻寬也會被廣告信占滿!這種主機我們稱為『Open Relay』的郵件主機,這種主機很快的就會被其他的MTA主機拒絕往來喔! 為了避免這個問題的發生,我們就必須只針對本身主機(localhost)開放Relay的功能,這樣MTA只會接受來自Internet上面注明收件人是我們主機內部帳號的信,但是關閉了Relay之后雖然可以避免MTA主機被當成廣告信發送站,不過這樣會有一些困擾,怎么說呢?因為通常我們會只對主機或是一些規范的IP來開放Relay的功能,但是沒有開放的IP ,就沒有辦法寄信了,如果你是業務員或是時常要出差在各地不同的地方就沒有辦法使用了,所以這時候就有『郵件認證機制』來幫我們解決這個問題。 郵件認證機制,其實就是在MTA加入檢查發信者的【帳號和密碼】的比對功能。常用的郵件認證為SMTP郵件認證,他是在SMTP上面動手腳的機制,也就是說在寄信的時候,由MUA到MTA時,MTA主機就會檢查MUA發信者的帳號和密碼,認證成功才會允許發信,這樣就可以在任何地方寄信了。 肆、安裝套件 安裝所需的套件cyrus-sasl、dovecot、postfix在Fedora Core 2本身就有內建了。 一、cyrus-sasl安裝及設定: 1.檢查是否安裝了cyrus-sasl : # rpm –qa | grep cyrus-sasl cyrus-sasl-2.1.18-2 2.修改smtpd.conf設定 # vi /usr/lib/sasl2/smtpd.conf 將內容改為 pwcheck_method: saslauthd mech_list: plain login 3.重新啟動sasl的daemon并測試驗證功能 # /etc/init.d/saslauthd restart # /usr/sbin/testsaslauthd –u帳號–p ‘密碼’ 0: OK “Success.” 二、dovecot (imap、pop3)安裝及設定: 1.檢查是否安裝了dovecot #rpm –qa | grep dovecot dovecot-0.99.10.5-0.FC2 2.設定使用pop3、imap來收信 # vi /etc/dovecot.conf protocols = pop3 imap 3.重新啟動并測試 # /etc/init.d/dovecot restart # telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK dovecot ready. user帳號 +OK pass密碼 +OK Logged in. 三、postfix安裝及設定: 1.檢查是否安裝了postfix # rpm -qa |grep postfix postfix-2.0.18-4 2、將postfix加入到root的權限 # usermod -G root postfix 3、修改smtpd.conf設定 # vi /etc/postfix/main.cf 將只有localhost relay注解掉 #inet_interfaces = localhost 修改接受的目的地位置 mydestination = $myhostname, localhost.$mydomain, $mydomain 增加sasl郵件認證 smtpd_sasl_auth_enable = yes smtpd_delay_reject = yes smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated permit_auth_destination reject smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated broken_sasl_auth_clients = yes smtpd_sasl_security_options = noanonymous 4.關閉sendmail及啟動postfix # /etc/init.d/sendmail stop # /etc/init.d/postfix start 5.將postfix加入啟動的服務 #chkconfig --add postfix 6.啟動ntsysv將sendmail換成postfix,這樣可以系統重新開機時便會是postfix,而不會是sendmail #ntsysv 7.測試是否有啟動sasl郵件認證 測試的方法同樣是使用telnet ,利用telnet指令連到Postfix主機端上,請執行如下的指令: # telnet localhost 25 接著請輸入下列指令: ehlo localhost 請注意Postfix所回應的訊息,如果您的設定均無誤,那么應該會顯示出類似下列的訊息: 250-master.planetnet.net 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-XVERP 250 8BITMIME 最重要的兩行,在第六行與第七行,顯示目前Postfix系統所支援的認證協定。如果您執行的結果有出現這兩行即表示您的Postfix已可使用SASL認證。 四、測試你的Outlook Express是不是能正常收發信件 要注意將『我的伺服器需要驗證』打勾唷!這樣才能順利將郵件寄出。
標簽:大興安嶺 韶關 阿壩 廣州 黔西 齊齊哈爾 哈密 六安
上一篇:Fedora 7上安裝和配置xmms
下一篇:Samba中文顯示亂碼解決辦法
Copyright ? 1999-2012 誠信 合法 規范的巨人網絡通訊始建于2005年
蘇ICP備15040257號-8