邮件服务器方案参考
內(nèi)部邀請碼:C8E245J?(不寫邀請碼,沒有現(xiàn)金送)
國內(nèi)私募機(jī)構(gòu)九鼎控股打造,九鼎投資是在全國股份轉(zhuǎn)讓系統(tǒng)掛牌的公眾公司,股票代碼為430719,為“中國PE第一股”,市值超1000億元。?
?
------------------------------------------------------------------------------------------------------------------------------------------------------------------?
?
郵件服務(wù)器方案參考,如果要做郵件服務(wù)器,這里面的信息可以很好的參考下,特別是對郵件的很多方面進(jìn)行了比較,選擇軟件。
http://wiki.ubuntu.org.cn/index.php?title=IRedMail&variant=zh-cn#MX.E8.AE.B0.E5.BD.95
?
目錄[隱藏]
|
[編輯]iRedmail 組件
iRedMail主要是使用下面軟件來構(gòu)建郵件系統(tǒng),下面是Ubuntu 10.04的軟件版本。
- Apache 2.2.x
- PHP 5.3.x
- MySQL 5.1.x
- OpenLDAP 2.4.x
- Postfix 2.7.x ( MTA )
- Dovecot 1.2.x
- Amavisd 2.6.x
- ClamAV 0.9x
- SpamAssassin 3.2.x
- Policyd 1.8.x
- Pysieved 1.0
- Roundcube 0.7.2 (Webmail )
- phpMyAdmin 3.3
- phpLDAPadmin 1.2
- Awstats 6.9
組件的工作原理
amavisd-new 在這里的作用主要是:
- 負(fù)責(zé)調(diào)用 ClamAV 對郵件進(jìn)行病毒掃描
- 負(fù)責(zé)調(diào)用 SpamAssassin 對郵件內(nèi)容進(jìn)行過濾
- 實(shí)現(xiàn) DKIM 簽名和驗(yàn)證功能,還有實(shí)現(xiàn)免責(zé)聲明的功能。
Postfix組件
全部的組件 (圖片來源?http://workaround.org/ispmail/lenny/bigpicture?)
1: 當(dāng)郵件發(fā)送到服務(wù)器的25端口,postfix接受連接,它會做一些基本檢查
- 發(fā)送者是否在黑名單或者實(shí)時黑名單,如果在黑名單,馬上拒絕
- 是否是授權(quán)用戶,可以進(jìn)行轉(zhuǎn)發(fā)
- 接收者是否是服務(wù)器的用戶,如果不是,馬上拒絕
- 如果我們啟用的灰名單,那么會拒絕郵件或者接收
2:postfix 把郵件通過10024端口交給amavis來處理,注意amavis,只會檢查郵件而不會丟棄或者拒絕郵件。
3:amavis調(diào)用SpamAssassin檢查郵件是否是spam,如果SpamAssassin認(rèn)為郵件是垃圾郵件,會給郵件打上標(biāo)記spam
4:amavis調(diào)用ClamAV,看郵件是否含有病毒
5:amavis把檢查完的郵件,通過10025端口重新把郵件交回給postfix
6:postfix把郵件交給LDA(local delivery agent),LDA是負(fù)責(zé)本地郵件投放到用戶的郵箱,(我們這里使用dovecot提供的LDA功能,而不是postfix提供的LDA)郵件會進(jìn)入用戶的郵箱,Dovecot會執(zhí)行用戶設(shè)置的filter,也就是Dovecot通過調(diào)用Sieve,放到相關(guān)的文件夾
7:Dovecot 把郵件以maildir的方式存放在硬盤上。
8: 用戶使用郵件客戶端,通過pop3或imap協(xié)議進(jìn)行連接。webmail RoundCube,是通過imap的方式來讀取郵件。
[編輯]組件的選擇,比較
linux下,對于開源軟件來說,沒有所謂像windows一樣的郵件系統(tǒng),你可以選擇不同的組件,組成一個郵件系統(tǒng),對于郵件來說,要實(shí)現(xiàn)一個功能,可能有多種組件,到底哪個最好,不同的組件間的如何搭配、組合,是一件非常頭疼的事情。
網(wǎng)上的文檔,組合也是非常多樣,到底哪種是最好或者更優(yōu)?文檔不會介紹為什么選擇這個組件的理由。一般的管理員很難判斷。下面就是iRedMail選擇組件的理由。
大家也可以參考這位老外的文章:http://workaround.org/ispmail?如果你細(xì)心查看這篇文檔的幾個版本,就會發(fā)現(xiàn)他的組件的不同和改進(jìn)。現(xiàn)在他的組件,已經(jīng)基本和iredmail是一樣。從另外一個角度證明iRedMail的組件選擇,是可以經(jīng)得起考驗(yàn)的。可以肯定一點(diǎn)就是目前iredmail的功能,性能會比你照這個文檔配置的效果更好。
?
[編輯]MTA Postfix
linux比較有名的4大MTA,如果從功能上,應(yīng)該都是可以滿足你的需求,詳細(xì)的比較,大家可以閱讀http://shearer.org/MTA_Comparison
- Sendmail
MTA軟件的很多先進(jìn)功能都是在Sendmail上最先實(shí)現(xiàn)的。但Sendmail也有典型的歷史問題,主要是整個程序的沒有實(shí)現(xiàn)良好的模塊化,運(yùn)行時需要SID權(quán)限,以及配置文件復(fù)雜難懂。這些是阻礙Sendmail更好普及應(yīng)用的一些客觀問題。
- Qmail
Qmail是新生一代的MTA代表,實(shí)現(xiàn)了模塊化設(shè)計,避免了SID問題,基本功能齊全,配置較Sendmail簡單,而且用戶也很廣泛。但Qmail從2002年開發(fā)工作基本停止,版本停止更新,只能通過第三方的補(bǔ)丁來實(shí)現(xiàn)更多的功能,補(bǔ)丁程序也相對零亂,這些都是長期使用Qmail的用戶或者郵件服務(wù)提供商不得不認(rèn)真考慮的問題。另外,Qmail的擴(kuò)展性并不是很好,經(jīng)常需要補(bǔ)丁來完成功能的擴(kuò)展。
- Exim
Ubuntu缺省的MTA,應(yīng)該是非常不錯,不過國內(nèi)用戶不多。
- Postfix
Postfix在設(shè)計上可以說是最為優(yōu)美的,其實(shí)現(xiàn)了良好的模塊化,郵件的處理流程是通過調(diào)用各個功能模塊來完成,在效率、功能、可用性、擴(kuò)展及安全等方面都考慮得比較充分。
[編輯]MDA Dovecot
pop和imap的服務(wù)器,有Dovecot 和Courier 作為選擇。目前很多教程,都是采用Courier,只是因?yàn)镃ourier文檔比較多,歷史比較久。
如果你關(guān)注一下,國外很多歷史比較久郵件系統(tǒng)的方案,都開始從Courier轉(zhuǎn)到Dovecot上。
Dovecot從2002年發(fā)布以來,性能遠(yuǎn)遠(yuǎn)超越Courier。
Postfix可以直接使用Dovecot的后臺認(rèn)證,不需要分開配置。(如果使用Courier,我們必須安裝配置額外的認(rèn)證軟件,比如Saslauthd,配置這個,會是一個噩夢,如果出現(xiàn)問題,很難排錯),并且Dovecot,可以很方便實(shí)現(xiàn)磁盤配額的功能。
Dovecot作為Courier的可替換組件,Dovecot在磁盤讀寫量上比Courier減少25%左右,內(nèi)存占用也比Courier節(jié)省10%到70%不等。
http://www.cnbeta.com/articles/72682.htm
大家會發(fā)現(xiàn),很多文檔里,如果使用Counier,會介紹使用maildrop 作為LDA,也就是postfix把郵件交給maildrop,他負(fù)責(zé)投遞到用戶的郵箱。
如果我們使用Dovecot,那么就可以直接使用Dovecot帶的LDA就可以。不需要額外的軟件。
所以作為構(gòu)建一個新的郵件服務(wù)器,Dovecot,肯定是最佳的選擇,這個應(yīng)該沒有什么異議。
[編輯]WebMail RoundCube
對于郵件系統(tǒng)來說,webmail是必不可少,修改密碼,自動回復(fù)這些工作,必須登錄webmail來設(shè)置。 開源的webmail,其實(shí)選擇也很多。
- SquirrelMail
- horde
- Extmail
- atmail
- openwebmail
- RoundCube
RoundCube,算是webmail里后起之秀,從2005年開發(fā)發(fā)布。目前最新的版本0.51,已經(jīng)支持插件的機(jī)制。現(xiàn)在開發(fā)的插件的社區(qū)很活躍。如果把所有的插件都裝起來,那肯定是無敵。
對于開源的webmail,有一個很困惑國人的需求,當(dāng)你在寫郵件的時候,希望選擇從通訊錄里選擇聯(lián)系人。這個以前在任何的開源webmail里都是無法實(shí)現(xiàn),甚至google的gmail也是最近才實(shí)現(xiàn)這個功能。
RoundCube 通過插件,已經(jīng)完美實(shí)現(xiàn)了這個功能。
[編輯]Policyd
灰名單,是對付垃圾郵件的一個有效的手段,很多文檔介紹使用PostGrey來實(shí)現(xiàn)灰名單的功能。
Policyd,不但有灰名單的功能,還提供很多別的功能,可以大大提高反垃圾郵件的效果。有一點(diǎn)要注意的,目前iRedMail 使用的是policyd1.8的版本。大家可以參考?http://policyd.sourceforge.net/readme.html
[編輯]OS Ubuntu
iRedMail 有一個重要的設(shè)計原則,盡可能使用發(fā)行版提供的包,尤其是官方提供技術(shù)支持和安全更新的包,這樣做的好處是很明顯。
- 升級方便
- 安全更新有保證
iRedMail目前支持RedHat,Debian,Ubuntu和Freebsd幾個發(fā)行版,Ubuntu軟件包的支持是最好的,從Ubuntu9.04開始,iRedmail,就基本全部采用Ubuntu官方提供支持和更新的軟件包來構(gòu)建整個郵件系統(tǒng),除了幾個web管理程序以外(web管理程序,你可以不使用)。
已經(jīng)有用戶,順利從9.04升級到9.10,郵件系統(tǒng),沒有任何影響。在未來的10.04,也是不會受到任何的影響,這就是iRedMail 和Ubuntu結(jié)合強(qiáng)大的地方。
可以這樣理解,使用Ubuntu提供的郵件相關(guān)的軟件包,裝完后,用iRedMail 的安裝腳本,快速幫助你按照那些幾十頁的技術(shù)文檔,1分鐘內(nèi)完成全部的配置。
很多用戶經(jīng)常問一個問題:如果iRedMail項(xiàng)目停止,我怎么辦,以后升級怎么辦?其實(shí)如果你使用任何的郵件系統(tǒng),都可能會有這樣的風(fēng)險。
不過使用iredmail,就會例外,因?yàn)橹挥幸环N情況,Ubuntu停止開發(fā),你才會受影響。只要Ubuntu,繼續(xù)發(fā)展,你的郵件系統(tǒng),就可以繼續(xù)更新。因?yàn)槟愕乃械能浖?#xff0c;都是Ubuntu官方的提供的,他們是會保證持續(xù)更新和安全漏洞的修復(fù)。
?
[編輯]內(nèi)容過濾 SpamAssassin
防垃圾郵件,是郵件系統(tǒng)的基本功能,SpamAssassin,是最有名的,尤其是和Amavisd ClamAV結(jié)合起來,這是一個經(jīng)得起考慮的組合。
對于內(nèi)容過濾,其實(shí)還有一個選擇:dspam,我沒有使用過dspam,無法具體評價。
目前從iRedMail的客戶部署情況,基本沒有用戶反映垃圾郵件過濾有問題。
SpamAssassin怎么管理,有后臺可以登錄嗎?
[編輯]amavisd-new
amavisd-new,可以理解成一個代理,Postfix把郵件交給他,他負(fù)責(zé)聯(lián)系殺毒和反垃圾。
amavisd-new 在這里的作用主要是:
* 負(fù)責(zé)調(diào)用 ClamAV 對郵件進(jìn)行病毒掃描* 負(fù)責(zé)調(diào)用 SpamAssassin 對郵件內(nèi)容進(jìn)行過濾如果大家看文檔,還會發(fā)現(xiàn)有人使用maildrop,通過maildrop,maildrop也可以調(diào)用spamassassin和clamav,實(shí)現(xiàn)類似amavisd-new的功能。
大家可以閱讀下面的文檔,這是老外使用amavisd-new,ClamAV SpamAssassin的技術(shù)文檔,那么就會明白為什么iredmail會選擇這amavisd-new。http://www200.pair.com/mecham/spam/
[編輯]iRedMail 簡介
iRedMail 是一套基于 GPL 發(fā)布的 Shell 腳本,目的是全自動安裝和配置郵件服務(wù)所需要的組件,以減輕系統(tǒng)管理員的負(fù)擔(dān)。它提供了一個基本的命令行下的用戶交互界面(使用 dialog 程序?qū)崿F(xiàn)),用戶只需要簡單地選擇他所希望使用的組件,就可以在幾分鐘內(nèi)(少于 3 分鐘)部署好一臺功能強(qiáng)大的郵件服務(wù)器。
iRedmail 使用到的郵件相關(guān)的軟件包,都是采用發(fā)行版提供的軟件包。
- iRedMail 官方中文支持論壇?http://www.iredmail.org/bbs
- 代碼下載?http://code.google.com/iredmail
[編輯]安裝需求
iRedMail 目前支持以下Ubuntu版本:
| OS | Version | Platform | iRedMail Version |
| Ubuntu (presise, 12.04) | 12.04 | i386, amd64 | >= 0.8.0 |
| Ubuntu (Luicd,11.04) | 10.04 | i386, amd64 | >= 0.6.1 |
- 生產(chǎn)中部署至少需要512MB 內(nèi)存.
Downloading Ubuntu CD/DVD images via HTTP/FTP
[編輯]準(zhǔn)備
[編輯]Hostname
這里說的 hostname 是指使用 'hostname -f' 命令打印出來的系統(tǒng)主機(jī)名,例如:
?
$ hostname -fmail.example.com
不管您的 Linux 系統(tǒng)是否作為公網(wǎng)服務(wù)器,我們都強(qiáng)烈建議您設(shè)置一個合適的主機(jī)名。
在 Ubuntu 系統(tǒng)中,主機(jī)名的設(shè)置涉及到兩個文件:
用你熟悉的編輯器編輯 /etc/hostname 文件
$cat /etc/hostname mail編輯 / /etc/hosts 文件
$cat /etc/hosts 127.0.0.1 mail.example.com mail localhost.localdomain localhost檢查FQDN Name設(shè)置,
讓hostname修改馬上生效
#hostname -F /etc/hostname # hostname -f mail.example.com[編輯]設(shè)置源
只需要相應(yīng)的發(fā)行版的'main' 和 'universe' , 使用安裝系統(tǒng)的時候ubuntu缺省的源,就可以了。
[編輯]開始安裝iredmail
- 切換到root用戶
- 下載最新版本的iredmail,解壓
?
- 可以開始執(zhí)行主腳本,它會調(diào)用 'dialog' 程序引導(dǎo)用戶配置郵件服務(wù)器
?
- iRedMail 安裝進(jìn)程的歡迎頁面
- 選擇用于存儲所有郵件的目錄(注意:由于所有郵件都將存儲在這個目錄,所以這個目錄需要占用較多的磁盤空間)
[編輯]LDAP
ldap圖解
[編輯]MYSQL
mysql安裝圖解
[編輯]使用iredmail
安裝完成后,一定要仔細(xì)閱讀iredmail.tip,里面包括設(shè)置信息和帳號,下面各個應(yīng)用的訪問路徑。這個是本安裝的范例 (http://code.google.com/p/iredmail/source/browse/extra/iRedMail.tips?)
- mysql 存儲虛擬用戶和domain 我們通過iRedAdmin 進(jìn)行郵件domain,用戶管理
- mysql 管理,可以通過phpmyadmin管理
- LDAP 存儲虛擬用戶和domain,我們通過iRedAdmin進(jìn)行郵件domain,用戶管理
- LDAP 的管理,可以通過phpldapadmin管理
?
[編輯]webmail RoundCube
- 可以使用http://your_server/mail/?(or /webmail, /roundcube)訪問webmail (注意,postmaster不是郵箱用戶,不能登陸)
- 由于www@example.com是root的alias,所以會受到系統(tǒng)發(fā)的郵件,請細(xì)心閱讀這兩封郵件,iredmail.tip 包含所有的郵件設(shè)置的相關(guān)信息。
- 設(shè)置假期外出,需要新建過濾器
- 全局地址簿 (LDAP)
[編輯]iRedAdmin
iRedAdmin開源版本是iredmail官方開發(fā)郵件后臺管理,目前可以同時管理ldap和mysql。
大家也可以通過iredmail官方提供的demo (http://www.iredmail.org/admin_demo.html?) 深入了解iredadmin
- 登錄iRedAdmin
可以使用https://your_server/iredadmin?訪問iredadmin (注意是 https )
- 修改語言
- 控制臺
- 域名管理
- 添加domain
- 用戶管理,添加用戶
- 管理員管理 添加管理員
[編輯]phpLDAPAdmin
可以使用https://your_server/ldap?訪問iredadmin (注意是 https )
- 登錄phpLDAPAdmin
?
- 查看ldap
[編輯]Awstats
可以使用https://your_server/awstats/awstats.pl?訪問Awstats (注意是 https )
?
- 登錄Awstats
- 如果希望查看郵件的流量,你需要修改你的鏈接,(https://your_server/awstats/awstats.pl?config=mail?) 在上面鏈接加上??config=mail
[編輯]phpMyAdmin
可以使用https://your_server/phpmyadmin?訪問phpMyAdmin (注意是 https )
[編輯]DNS
DNS記錄,需要你到你的域名托管商那里進(jìn)行設(shè)置或者你自己管理DNS服務(wù)器。不少域名托管商不支持txt記錄或者不支持DKIM記錄,所以你就無法使用SPF和DKIM的功能。
DNS的修改,需要48小時以上才能生效。
國內(nèi)的萬網(wǎng)是不支持DKIM,目前新網(wǎng)是支持SPF和DKIM
?
[編輯]MX記錄
郵件的MX記錄最好是指向機(jī)器A記錄,盡量不要直接指向IP地址(不符合規(guī)范)。
- 添加A記錄
mail.example.com 192.168.1.100
- 添加MX記錄
example.com mail.example.com
[編輯]SPF記錄
- SPF 記錄指向A主機(jī)記錄
- SPF 記錄指向IP地址
[編輯]DKIM記錄
可以通過iredmail.tips 獲得域名的DKIM,也可以在命令行下輸入
# amavisd-new showkeys ; key#1, domain example.com, /var/lib/dkim/example.com.pem dkim._domainkey.example.com. 3600 TXT ("v=DKIM1; p=""MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGNVMuQRKqYeySIzqTGTm3xRzF""/ZzhmMnpZkEcVVjFAk+t7E388oFGu/knyh6KBKwpZxHUN5HoOYVjMudqaR2FcSvK""z+joFj8Vh3rXoTLa1zHDyfD7hICzxdEgmQZ8MJM5rjPPrRGZXnPowNYDsd6nDJ86""N38iFYU+jALBYDLBwQIDAQAB")把上面記錄添加到ISP的DNS記錄
dkim._domainkey.example.com. v=DKIM1; p=MIGfMA0....(省略)DLBwQIDAQAB添加完DNS記錄后,如果記錄生效,可以通過運(yùn)行命令檢測
# amavisd-new testkeys TESTING: dkim._domainkey.example.com => pass?
[編輯]檢查DNS設(shè)置
下面有幾種方法,可以幫助你檢測DNS是否設(shè)置生效和正常工作
[編輯]windows nslookup
C:\>nslookup Default Server: unknown Address: 192.168.1.1> server 4.2.2.1 Default Server: vnsc-pri.sys.gtei.net Address: 4.2.2.1> set type=mx > example.com Server: vnsc-pri.sys.gtei.net Address: 4.2.2.1Non-authoritative answer: example.com MX preference = 20, mail exchanger = mail.example.com > set type=txt > example.com Server: vnsc-pri.sys.gtei.net Address: 4.2.2.1Non-authoritative answer: example.com text ="v=spf1 ip4:192.168.1.100 -all"> dkim._domainkey.example.com Server: vnsc-pri.sys.gtei.net Address: 4.2.2.1Non-authoritative answer: dkim._domainkey.example.com text ="v=DKIM1; p= MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsgZaIvYHAos2jbp3CHW0 AwrTnAEwV1p4EaZP/JuF8t1BETBVg6WJr3YWN5ijCpi9vnw96nmf/u5MgtbLwZ+AzDBkbOY7Jbb/hIO+ mpmmfdJAY3w8KoXLCuQKDysXOys45YtfJEj66s51EHH3W+iXPYw3I/NWHjY3a5/mXnk4XJQIDAQAB"[編輯]linux dig
如果你的機(jī)器沒有dig命令,你需要安裝
apt-get install dnsutils這個時候,就可以使用dig命令
- MX記錄
?
- SPF記錄
- DKIM記錄
[編輯]web工具
- 黑名單檢查
http://www.mxtoolbox.com/
通過這個不但可以檢查各種DNS設(shè)置,還可以檢測到你的IP地址,是否已經(jīng)給列入黑名單。
- 檢測MX記錄
http://zmailer.org/mxverify.html
- 檢測SPF記錄
http://www.openspf.org/
- 測試spf和dkim記錄
http://www.brandonchecketts.com/emailtest.php
網(wǎng)頁里有一個郵箱地址,你可以通過安裝過程中創(chuàng)建的第一個用戶www,發(fā)送郵件給這個測試郵箱,你就可以馬上看到結(jié)果
- 發(fā)郵件到gmail
查看發(fā)送過去的郵件的源碼, 如果顯示 dkim=pass 和 SPF: pass 就表示正常
Received-SPF: pass (google.com: domain of www@example.com designates 66.160.197.199 as permitted sender) client-ip=66.160.197.199; Authentication-Results: mx.google.com; spf=pass (google.com: domain of www@example.com designates 66.160.197.199 as permitted sender) smtp.mail=www@example.com; dkim=pass header.i=@example.com[編輯]查看LOG
Linux下,如果出現(xiàn)問題,那么排錯最佳的方式就是查看log,不過為了性能,有些應(yīng)用,缺省下沒有開啟錯誤log,我們需要啟用。
[編輯]APACHE
# tail /var/log/apache2/error.log #查看log# tail -0f /var/log/apache2/error.log #實(shí)時查看log?
[編輯]OPENLDAP
當(dāng)你采用ldap來驗(yàn)證用戶,當(dāng)用戶登錄出現(xiàn)問題的時候,你就需要查看ldap的log,看那個地方出錯。
- 缺省的情況下,openldap的log沒有啟用,我們需要修改配置文件 /etc/ldap/slapd.conf
- 重新啟動LDAP服務(wù)
- 查看log
[編輯]dovecot
當(dāng)接收郵件有問題的時候,我們需要查看dovecot的log,
- 編輯/etc/dovecot/dovecot.conf
- 從新啟動dovecot服務(wù)
- 查看log
[編輯]Sieve
當(dāng)RoundCube里過濾器不工作或者有問題的情況下,你就需要查看sieve的log
# tail /var/log/sieve.log[編輯]Postfix
查看郵件發(fā)送的問題,就需要查看posfix Log
#tail /var/log/mail.logPostfix 排錯,還可以通過Postfix提供郵件隊例隊列管理工具:
?
postqueue -p 列出隊列里的所有郵件 postsuper -d ID 刪除一封郵件 postsuper -d ALL 刪除所有郵件 postsuper –h ID 保留郵件 postsuper -r ALL 重新排例 postcat -q ID 顯示郵件內(nèi)容 postqueue -f 清空郵件?
[編輯]郵件客戶端
iRedmail提供pop,imap和pops,imaps的連接,可以根據(jù)需要選擇采用哪種方式
?
| Protocol | Unencrypted port | TLS Port | SSL Port |
| SMTP | 25 | 587 | 465 |
| POP3 | 110 | 110 | 995 |
| IMAP | 143 | 143 | 993 |
[編輯]Outlook2007
Outlook2007設(shè)置圖解
[編輯]Outlook 2003
- pop3 非加密
這個設(shè)置和outlook 2007是一樣,參考上面設(shè)置就可以, pop使用110,smtp是25
- pop3 加密
注意端口,這是和outlook2007不同的地方,outlook2003 只支持SSL,導(dǎo)入證書,可以參考上面設(shè)置
- imap 非加密
這個和2007設(shè)置是一樣,imap是143,smtp是25
- imap 加密
[編輯]FAQ
這個faq會不定期更新,最新的FAQ,大家可以直接訪問?http://www.iredmail.org/faq.html
[編輯]郵件服務(wù)器同步備份,切換,群集,冗余
郵件系統(tǒng)的備份,可以考慮采用rsync, unison,如果數(shù)據(jù)量大,可以參考文章?http://blog.daviesliu.net/2008/04/24/sync/
實(shí)現(xiàn)郵件的群集,有很多方案,一般可以分為
采用共享存儲 (多臺服務(wù)器)負(fù)載均衡,每臺服務(wù)器都在工作。通過這種方式,可以實(shí)現(xiàn)支撐更多的用戶。
沒有共享存儲 (兩臺服務(wù)器)實(shí)現(xiàn)冗余,一臺機(jī)器是閑著。
你可以把iredmail部署到這兩種方案上,iRedMail官方網(wǎng)站提供這兩種方案的技術(shù)支持。
- 采用共享存儲,一般都是利用lvs
- 不采用共享存儲,就可以采用DRBD+heardbeat 的方案
DRBD,簡單理解,就是網(wǎng)絡(luò)的raid1,實(shí)現(xiàn)兩臺服務(wù)器的鏡像。具體的配置過程,大家可以參考?http://www.iredmail.org/bbs/topic1298-view.html
[編輯]停用灰名單
灰名單,是有效阻止垃圾郵件的手段,原理是當(dāng)一個新的郵箱地址發(fā)郵件過來,都會先拒絕2次,然后第三次才會接收下來。一般發(fā)垃圾郵件的人,因?yàn)殛犃刑L,就不會再嘗試投遞。
灰名單會導(dǎo)致第一次發(fā)送延遲,不過第二次以后就沒有問題。如果希望停止灰名單
編輯/etc/postfix-policyd.conf
# 1=on 0=off GREYLISTING=0 #把1改成0重新啟動policy服務(wù)
# /etc/init.d/postfix-policyd restart[編輯]修改root的alias
iRedmail的安裝過程,我們設(shè)置了root的alias,如果我們希望修改郵箱地址。
編輯/etc/postfix/aliases 改成你需要的郵箱地址。以后系統(tǒng)的警告郵件就會發(fā)送到新的郵箱。
# See man 5 aliases for format postmaster: root clamav: root root: www@18demo.com policyd: www@18demo.com amavis: root修改后,需要運(yùn)行下面命令才可以生效。
# postalias /etc/postfix/aliases這個時候可以測試一下,給root發(fā)一封郵件,是否生效
cd iRedMail-0.5.1 mail -s "test" root < iRedMail.tips[編輯]添加免責(zé)聲明
iRedmail 是通過Amavisd-new + alterMIME 實(shí)現(xiàn)出站的郵件都添加免責(zé)聲明。alterMIME支持Per-domain,Sub-domain,Per-user添加免責(zé)聲明,同時支持txt和html格式。缺省情況下,iRedMail沒有啟用。
- 編輯 /etc/amavis/conf.d/50-user 把注釋去掉。啟用免責(zé)聲明的功能
- 創(chuàng)建一個test免責(zé)聲明,這個聲明會添加到所有的郵件里。如果希望每個domain或者每個用戶不同聲明,那么可以單獨(dú)添加免責(zé)聲明。存放的路徑是/etc/postfix/disclaimer/
- 重啟amavisd服務(wù)
這個時候,所有往外發(fā)送的郵件,都會在底部加上 'Testing disclaimer.'
?
[編輯]集成Razor2和Pyzor
- 打開防火墻端口
Razor2:必須打開防火墻端口 2307/TCP
pyzor: 必須打開防火墻端口 24441/UDP
編輯/etc/default/iptables 文件
# http/https, smtp/smtps, pop3/pop3s, imap/imaps, ssh -A INPUT -p tcp -m multiport --dport 80,443,25,465,110,995,143,993,587, 465,22,2307,24441 -j ACCEPT # <-- Add 2307 24441重啟iptables服務(wù)
# /etc/init.d/iptables restart- 安裝Razor2
- 設(shè)置Razor2
- 安裝Pyzor
- 設(shè)置pyzor
- 編輯/etc/spamassassin/local.cf 在最末尾添加下面內(nèi)容
- 重啟amavis服務(wù)
[編輯]卸載iRedMail
當(dāng)你希望卸載或者重新安裝iredmail,那么可以利用iRedMail提供的工具,快速卸載iredmail各個組件,進(jìn)行重新安裝
# cd iRedMail-0.5.1/tools/ # bash clear_iredmail.sh按照提示進(jìn)行就可以,當(dāng)你重新安裝的時候,你還是需要運(yùn)行下載腳本,再運(yùn)行安裝腳本。
[編輯]批量創(chuàng)建用戶
iRedMail提供腳本,可以讓用戶快速添加用戶
- MYSQL
你可以編輯create_mail_user_MySQL.sh,修改默認(rèn)值,如果你安裝的時候修改的郵件的存儲路徑,那么你必須修改腳本的 STORAGE_BASE_DIRECTORY
創(chuàng)建郵箱用戶的缺省密碼是和用戶名相同
?
# cd iRedMail-0.5.1/tools/ # bash create_mail_user_MySQL.sh exmple.com user1 user2 user3這個時候,會創(chuàng)建output.sql 文件
# mysql -uroot -p mysql> USE vmail; mysql> SOURCE /path/to/output.sql;?
- LDAP
使用create_mail_user_OpenLDAP.sh腳本,可以快速創(chuàng)建ldap的郵件用戶,我們需要修改腳本
創(chuàng)建郵箱用戶的缺省密碼是和用戶名相同
STORAGE_BASE_DIRECTORY="/var/vmail/vmail01" #如果你安裝的時候修改的郵件的存儲路徑 LDAP_SUFFIX="dc=iredmail,dc=org" #你的ldap SUFFIX BINDPW='passwd' #ldap管理員cn=manager 密碼運(yùn)行腳本,創(chuàng)建用戶
# bash create_mail_user_OpenLDAP.sh example.com user1 user2?
[編輯]支持大附件
要注意的是:下面的設(shè)置,是可以讓你的服務(wù)器是可以發(fā)送大附件,也需要對方的服務(wù)器能夠接收大附件,否則還是無法發(fā)送出去。
- 客戶端發(fā)送大附件
如果你是希望郵件客戶端發(fā)送大附件,那么你只需要運(yùn)行
?
# postconf -e message_size_limit='104857600' #把附件增加到100m重啟postfix服務(wù)
# /etc/init.d/postfix restart- webmail
如果希望webmail,發(fā)送大附件,那么你還需要多修改2個地方
1:編輯/etc/php5/apache2/php.ini 文件
upload_max_filesize = 100M; post_max_size = 100M;2:修改/usr/share/apache2/roundcube/.htaccess 文件
?
php_value upload_max_filesize 100M php_value post_max_size 100M重啟apache服務(wù)
# /etc/init.d/apache2 restart[編輯]集成DNSBL
編輯/etc/postfix/main.cf 文件,在smtpd_recipient_restrictions 下添加下面內(nèi)容
?
smtpd_recipient_restrictions =reject_unknown_sender_domain,reject_unknown_recipient_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unlisted_recipient,permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,reject_non_fqdn_helo_hostname,reject_invalid_helo_hostname,check_policy_service inet:127.0.0.1:10031##添加下面內(nèi)容reject_rhsbl_sender dsn.rfc-ignorant.org, reject_rbl_client dnsbl.njabl.org, reject_rbl_client dnsbl.ahbl.org,reject_rbl_client bl.spamcop.net,reject_rbl_client zen.spamhaus.org,重啟postfix服務(wù)
# /etc/init.d/postfix reload?
[編輯]停用Amavisd + ClamAV + SpamAssassin
如果希望停用殺毒和發(fā)垃圾的功能,編輯/etc/postfix/main.cf 文件,到把最底下的這行注釋掉
content_filter = smtp-amavis:[127.0.0.1]:10024這個時候,postfix接收到的郵件,就不會再交給amavis處理,就可以把a(bǔ)mavisd, clamd, freshclam服務(wù)停止。不過要注意的是這個時候DKIM的功能,也是無法使用,因?yàn)閕redmail的DKIM是通過amavis來實(shí)現(xiàn)的。
rolaod postifx服務(wù)
#update-rc.d amavis purge #update-rc.d clamav purge # /etc/init.d/postfix reload[編輯]Fetchmail
目前iRedMail還沒有集成fetchmail的功能,如果你需要使用fetchmail,你可以自己集成
- 安裝fetchmail
- 設(shè)置fetchmail daemon運(yùn)行修改/etc/default/fetchmail 文件
- 創(chuàng)建/etc/fetchmailrc 文件,添加下面的內(nèi)容
最后一行意思是把126郵箱里的用戶的郵件,投遞到本地的郵箱帳號 www@18demo.com
- 設(shè)置/etc/fetchmailrc 文件權(quán)限
- 重啟服務(wù)
- 查看log
?
[編輯]創(chuàng)建新的SSL key
如果你修改了計算機(jī)名字或者希望使用自己的信息創(chuàng)建自己的ssl key。
- 下載iredmail提供的腳本
- 編輯腳本里的你希望修改的相關(guān)信息
- 執(zhí)行腳本
- 把以前的證書備份一下,把新證書復(fù)制到下面兩個目錄下。
[編輯]SPAM郵件進(jìn)入垃圾箱
如果用戶是使用郵件客戶端,是無法收取到j(luò)unk的郵件,所以iredmail缺省是讓spam的郵件進(jìn)入收件箱。如果我們希望讓spam的郵件,不進(jìn)入收件箱,直接存在垃圾郵箱的文件夾里。
# cd /var/vmail/sieve # cp dovecot.sieve.sample dovecot.sieve- 重啟dovecot 服務(wù)
[編輯]如何修改hostname
如果我們裝完iremdail后,希望修改hostname(FQDN),那么我們需要修改下面相關(guān)的內(nèi)容。
[編輯]檢測系統(tǒng)的反垃圾和病毒能力
裝好系統(tǒng)后,如何評估系統(tǒng)的發(fā)垃圾和病毒能力?總不能自己給自己發(fā)垃圾郵件和病毒郵件吧。
http://www.gfi.com/emailsecuritytest/
我們可以通過GFI來測試我們郵件系統(tǒng)的發(fā)垃圾和病毒能力。
當(dāng)你的郵箱驗(yàn)證通過后,他會發(fā)送垃圾郵件和病毒郵件到你的郵箱,你就可以檢測到郵件系統(tǒng)的反垃圾和病毒查殺能力。
http://www.antispam-ufrj.pads.ufrj.br/
測試郵件服務(wù)器是否被設(shè)成公開轉(zhuǎn)發(fā)站
http://www.abuse.net/relay.html
[編輯]命令行管理postfix隊列
- 查看隊列
- 刪除隊列郵件根據(jù)ID
- 根據(jù)發(fā)送者來刪除隊列郵件,替換 “info@otherdomain.com”就可以
- 根據(jù)收件人刪除,替換you@yourdomain.com 就可以
- 根據(jù)發(fā)生服務(wù)器的hostname來刪除,替換掉 senderhostname
- 如果當(dāng)前的系統(tǒng)隊列很長,負(fù)擔(dān)很重,我們可以把隊列里的郵件先hold
當(dāng)處理完后,再把隊列移回來
postsuper -r ALL參考文章?http://www.faqforge.com/linux/server/manage-the-postfix-mailqueue-with-postsuper-postqueue-und-mailq/
?
[編輯]命令行測試郵件
測試郵件,可以用客戶端, 也可以使用命令行測試,這樣更加直接.
- BASE64編碼的用戶名密碼
我們需要把我們的登錄帳號和密碼一起編碼
user:www@example.com
pass: iredmail
- SMTP 登錄并發(fā)送郵件
?
- pop3連接
可以在遠(yuǎn)程使用命令行或者本地來測試pop3
# telnet localhost 110 #登錄110端口 Trying?::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. user www@example.com #輸入登錄的郵件帳號 +OK pass iredmail #帳號的密碼,這里直接輸入密碼就可以 +OK Logged in. list #查看郵箱里的郵件 +OK 4 messages: 1 1182 2 6195 3 1588 4 878 . retr 1 #顯示第一封郵件內(nèi)容 quit #退出 +OK Logging out. Connection closed by foreign host. 1個分類:?服務(wù)器?
轉(zhuǎn)載于:https://www.cnblogs.com/AloneSword/p/3162289.html
總結(jié)
- 上一篇: 朗途职业规划之一 职业发展报告 (北森测
- 下一篇: zoj 1366 Cash Machin