E-mail誕生年代非常早,但應用迅速發展,如何架設好的郵件系統,建立功能強大,性能穩定的郵件伺服器也是企業關注的焦點,開場廢話不多說,進正題
一:基礎知識
傳統的郵件服務,由四部分組成(這也是寫mail貼總是xxx+xxx+xxx....更細的有如MSA和MAA)
---------------------------
| MUA |
| MDA |
| MTA |
| -------------------- |
| |
| 作業系統 |
MUA:(Mail Transfer Agent),郵件傳輸代理
MDA:(Mail Delivery Agent),郵件分發代理
MUA:(Mail User Agent).郵件使用者代理
作業系統:提供底層支援,安全性至關重要,最好選擇Unix.BSD或linux這些先天足夠安全,健壯的系統
二,選擇MTA
MTA是負責處理所有接收和發送郵件的程式,在Unix與類linux下可選擇的MTA程式很多,但通過考驗并被廣泛使用的隻有寥寥幾種,(Sendmail ...Postfix...Qmail),下邊具體介紹每中優缺點
Sendmail:
可能是使用最廣泛的MTA程式了,誕生與1979年,一直伴随着Unix成長,也是最古老的MTA程式
優點:
通用性非常強
缺點:
可能也是所有這類比較古老軟體的通病,“安全“,在網際網路剛起步時候,駭客基本還屬于稀有”動物“,是以Sendmial在設計之初就沒有很好考慮其安全性,漏洞也很嚴整,相信大家看到這裡會很”汗“,其實,現在使用的Sendmial,已經被重新編寫了,而且添加了很多新功能,然而由于先天設計的問題,改版後的MTA仍然有可能被侵入
加上被設計成每隔一段時間才檢視一次郵件隊列,會造成收發的延遲,是以性能比較低
Postfix:
進年來出現的另一個優秀的MTA程式,由于吸取了前輩經驗(Sendmial,Qmail,Maildir),在設計構架上優勢明顯
快速,安全,易于管理,與Sendmail良好的相容性
配置主要使用main.cf與master.cf兩個文本,使用中心化的配置檔案和容易了解的配置指令,配置相當簡便
子產品設計,讓安全性得到最大保障,可以運作在安全度很高的chroot環境中
起步時間比較短,但并不影響良好性能。
Postfix是IBM資助的開源軟體,遵循IBM的開源許可,如果需要修改,需要給IBM回報,并且,IBM可以随時取消使用者使用和釋出Postfix的權利,商業應用就需要密切關注這類資訊
Qmail:
開發Qmail的初衷是替換安全和性能都不太令人滿意的Sendmail
主要的優點是安全,可靠,高效
Qmail設定簡單,速度很快,經過網際網路多年考驗,至今沒發現任何安全漏洞,是公認的最安全的MTA程式
應用之初,曾經懸賞漏洞,1年無人拿走,隻好捐贈,足以見安全性
唯一的缺點是太優秀了
這裡是三種MTA的比較:
---------------------------------------------------------------------------------------------------------------
MTA 成熟性 安全性 特色 性能 Sendmail相容性 子產品化設計
Sendmail 高 低 中 低 ------- 否
Postfix 中 中 中 中 支援 是
Qmail 中 高 高 高 插件實作 是
--------------------------------------------------------------------------------------------------------------
對與MTA的選擇至關重要,可以說是mail的核心吧,選擇好MTA後就可以搭配選擇其他元件了
sendmail适合小型企業
Postfix适合中型企業
Qmail适合大型企業,比如YAHOO的郵箱服務
三:選擇MDA
郵件分發代理MDA,主要功能就是将MTA接收的信件依照目的分發,與郵件過濾等功能
常用的MDA有(Binmail....Procmail....Maildrop)
Binmail:
該MDA程式簡單,不需要進行配置,是以靈活性比較差
Procmail:
使用類似”處方“的使用者配置檔案,程式設計文法複雜,并且不支援Maildir油箱格式
Maildrop:
支援傳統郵箱,支援Qmail的Maildir郵件存儲格式,程式設計簡單,容易上手
四:MUA
MUA隻要功能就是接收郵件主機的電子郵件,并提供使用者浏覽,編寫郵件
郵件需要代理,這是由于通常Client端的計算機無法直接寄信,是以需要通過MUA幫我們傳遞信件。
Client需要系統提供的MUA才能使用郵件系統。
無論是windows下的OutLook Express 還是linux下Eudora等,都是優秀的MUA軟體
随着網際網路普及,基于WEB的MUA程式越來越受歡迎,典型代表有(SqWebMail...OpenWebMail..iGENUS)
這些除了支援P0P3和IMAP協定,還具有功能豐富,安全穩定,和簡單易用的特點
-----------------------------------------------------------------------------------------------------------------------
五:相關協定
在電子郵件系統的元件之間發生的通信是由一系列标準和協定定義的,這些标準檔案由IETF維護,并作為RFC文檔釋出
RFC包含許多解釋某一技術或協定組成。
SMTP:
全稱Simple Message Transfer Protocol ,中文為簡單郵件傳輸協定,工作在TCP/IP層次的應用層,SMTP采用C/S
工作模式,預設使用TCP 25端口,提供可靠的郵件發送服務,SMTP是建立在FTP檔案傳輸服務上的一種郵件服務,主要用于傳輸系統之間的郵件資訊并提供來信有關的通知,具體的流程與原理還是比較複雜的,這裡說就比較過分了
SMTP還是很有優勢的(X.400複雜和健壯,但由于複雜,缺少支援,不如SMTP普及)
*SMTP十分流行
* 廠商的平台都支援SMTP
*SMTP便于實作,易管理
*SMTP位址方案簡單
不足之處在于:
*SMTP功能不足
*SMTP的安全機制不如X.400
*它的簡單性限制了其使用
POP3:
全稱:Post Office Protocol 3 ,中文名為第三版郵局協定,工作在TCP/IP層次的應用層,采用C/S模式,預設使用TCP 110端口,提供可靠的郵件接收協定
POP3是檢索電子郵件的标準協定,POP3協定控制電子郵件用戶端和伺服器之間的連接配接,把電子郵件從伺服器檢索到用戶端,溝通有三種狀态(身份驗證,事務處理,更新狀态)
簡單說,POP3郵件用戶端連接配接到伺服器後必須接受身份驗證,然後檢索電子郵件,通過身份驗證後進入事務處理階段
客戶關閉與伺服器連接配接後,郵件存儲區會更新,即跟新狀态
POP3的工作流程和原理就不說了,需要的可以自己找去看看
IMAP:
全稱,Internet Mail Access Protocol ,中文,網際網路郵件通路協定,1986誕生,1994被接收為網際網路标準
使用TCP 143端口
IMAP被設計為POP的超集,而POP是個地位牢固的開放郵件标準,在日常使用中,IMAP的特性以及支援還沒有壓倒POP3,但是它的發展趨勢已經顯而易見了,主要廠商都計劃支援IMAP4。
IMAP與POP3不同在于,IMAP能以3種模式或者說消息傳遞範式來與客戶互動:線上,離線,和斷連方式
*線上方式:郵件儲存在Mail伺服器,客戶可以對其進行管理,使用方式與WebMail類似
*離線方式:郵件儲存在Mail伺服器,客戶可以對其管理,這與POP協定一樣
*斷連方式:郵件的一部分在Mail伺服器,一部分在用戶端,這與一些成熟的元件包應用的方式類似
這些多種方式,要比POP3靈活很多,功能也要強大許多
與POP3比較,IMAP收郵件更加快速和節省硬碟空間,強大的功能還是受到專業郵件服務商的支援,大型企業的好管家
與IMAP相關的指令這裡也不介紹,因為很多
相信看了前邊的東西,會比較煩,但郵件系統确實複雜,這就不得不去了解下簡單的郵件工作流程
當你告訴你的MUA(使用者界面)發送郵件時候,它隻是簡單地将郵件送出到MTA(傳輸代理)伺服器上
MTA從一個系統發送郵件到另一系統中完成了大量的工作
當MTA接收到郵件時,首先決定是否接受這封郵件,一個MTA預設接受本地使用者的郵件,與它知道如何轉發其他系統的郵件
一旦MTA接受郵件,它将決定接下來如果處理這封郵件,發送到本地使用者,或将郵件發送給其他MTA(MTA中繼),如不能發送或獨立轉發郵件,它會将郵件退回發送者或者通知管理者
MTA(伺服器)通常是英特網服務商管理,如果這封郵件的收信人是系統中使用者,MTA将郵件傳遞給MDA(分發代理),由MDA進行最終的發送,MDA會将郵件以檔案形式存儲或存儲在一個專用的資料庫中,一旦郵件被儲存在郵件倉庫伺服器,它将一直儲存直到收件人接收
接收者使用MUA(使用者界面)擷取郵件并閱讀,MUA連接配接到可以通路的郵件倉庫,當伺服器成功驗證使用者,它将把使用者的郵件傳輸給MUA。
這就是簡單的一個郵件的傳遞過程
--------------------------------------------------------------------------
六:電子郵件的曆史
掌握一件東西,總是應該去了解一點相關的曆史,這也是很重要的
電子郵件的發明人 雷*湯姆林森回憶,電子郵件是誕生在1971年的秋天,雖然是70年代發明的,但知道80年代才興起,隻要是那時候網絡人太少,帶寬僅3K多,知道80年代個人電腦興起,90年代中期網際網路浏覽器的誕生,全球網民激增,電子郵件太廣泛使用,網際網路電子郵件興起不過是前幾年的事情,由hotmail推廣,到現在門戶網站必有服務,
Yahoo,google等,都擁有自己的電子郵件服務。
七:電子郵件位址的組成
其實在這裡說這個,可能都覺得有點白癡,但你細細回味一遍,就知道為什麼要提它了
e-mail像普通郵件一樣,需要位址,差別就是它是電子位址,internet上所有的e-mail位址都是唯一的,伺服器就是根據這些位址,将每封郵件傳送到各個使用者信箱,你能否收到信件,取決與你的位址是否正确
@符号在英文中含有兩種意思,“在”或“單價”,它的前一種意思發音類似于英文的at,于是常被作為“在”的名詞使用,比如,”明天早晨在學校等“,英文的便條就成了"wait you@school morning",于是,湯姆森确立了@在電子郵件中的地位,賦予@新的意義,使用@将使用者名與電腦位址分開,如[email protected]
使用者名@主機名.域名
從上邊的格式不能看出,這種命名需要牽扯到的東西,呵呵,很明顯,DNS服務,因為網絡隻認IP,不認識名字
八:電子郵件系統和DNS聯系
上邊我們簡單說下電子郵件的位址會牽扯到DNS服務,這裡就具體說下是怎麼回事
從網際網路誕生,郵件伺服器與DNS聯系就分不開,如果你想要發電子郵件,就的通過郵件主機幫你将信件發送出去,但郵件主機必須要知道自己發送的郵件去那裡,這就需要你的主機可以通過DNS系統找到對應IP
假設,你已經成功的Internet上完成了合法注冊,即有了A位址,那麼你就可以假設郵件伺服器了,DNS中有一個MX标志,這是(Mail Exchanger)記錄郵件交換記錄,它指向一個郵件伺服器,用于電子郵件系統發郵件時根據收信人的位址字尾來定位郵件伺服器,例如:當internet上某個使用者要發一封信給[email protected]是,該使用者的郵件系統通過DNS來查找mydomain.com這個域名的MX記錄,如果MX存在記錄,使用者計算機就将郵件發送到MX記錄所指定的郵件伺服器上,MX類似路由器的功能,可以說是郵件路由,當然MX記錄一定要設定正确,不然郵件可能永遠流浪在Internet上。
安裝qmail前注意事項:
-------------------------------------------------------------
注意:
1:如果在foxmail或其他軟體中,收信正常,發信有錯誤,請把/var/qmail/supervise/qmail-smtpd/run中添加的域名去掉,然後把/home/vpopmail/etc/tcp.smtp.cdb所有者與組修改為vpopmail.vchkpw即可,就不在教程裡更新了
2:教程中關于vpopmail的少寫了一句,現在添上,缺少會出現在foxmail中無法僅使用名稱,而要使用全稱才能取信的功能,具體錯誤就是在測試帳戶時其他選項都通過,就是在登陸pop3伺服器上出錯!
cd /home/vpopmail/etc/
# sudo vim defaultdomain
apt-get.vicp.net (寫入你的域名)
3:關于qmail-pop3d/run與qmail-pop3ds/run中填寫域名的問題,在run中會有'hostname',需要寫入自己的域名,這時候填寫應該把‘’也去掉,
如'hostname'改為apt-get.vicp.net ,不然會出現類似/home/Maildir之類的錯誤,教程裡沒寫清楚,特别提醒下!
4:如果遇到foxmail中給外網發信,The server reply: 553 sorry,that domain isn't in my list of allowed rcpthosts錯誤
需要修改/var/qmail/control/rcpthosts檔案,
比如需要給QQ的信箱發信,就加入qq.com
給hotmail發信,就另換一行寫入hotmail.com
這個也是教程中的遺漏,不好意思!
5:這個是補充,沒有确認是否會出問題,但加編譯安裝時候加入沒有壞處
編譯vpopmail時候,除了教程中的參數外,在加上這兩個參數
--enable-vpopuser=vpopmail
--enable-vpopgroup=vchkpw
如發現錯誤會即使更正,希望大家也多找錯誤與遺漏!
更新基本病毒防護!
垃圾郵件過濾更新!
教程基本已經完結,所有配置均在ubuntu8.04伺服器版下測試通過!
新接觸qmail的使用者下載下傳最後的基本安裝包就可以了,适應後,可以慢慢增加。
有關其他mail的配置,論壇都是有的,這裡就不在寫了!
<col>
附件:
檔案注釋: 基本垃圾郵件過濾
請安裝基本病毒防護後在安裝
qmail-spam.tar.gz [11.33 KB]
檔案注釋: 基本病毒防護
會繼續更新!
qmail-clamav.rar [2.45 MB]
檔案注釋: 更新後的webmail
主要修改些安裝錯誤!
WebMail.tar.gz [264.11 KB]
檔案注釋: Web管理
管理虛拟域,使用者,郵件清單等。
qmail-web-manage.tar.gz [1.11 MB]
檔案注釋: 更新後的基本安裝包
修正一些小錯誤
主要是更換smtp驗證包
添加對sina,qq,hotmail等網站發信必須配置
qmail-bases.tar.gz [1.38 MB]