陳欣
摘要:目前電子郵件服務(wù)器的操作平臺有Unix、Linux、Windows三種,其中基于Linux的Sendmail服務(wù)是應(yīng)用較為廣泛的服務(wù)器平臺。文章從Sendmail服務(wù)器的基礎(chǔ)配置著手,講述了如何配置出簡單高效的電子郵件服務(wù)器。
關(guān)鍵詞:電子郵件;Sendmail;SMTP;POP3
0 引言
截至2015年2月,中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)發(fā)布《第35次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》,我國的網(wǎng)民人數(shù)突破6.6億,網(wǎng)絡(luò)普及率接近50%,網(wǎng)民人均3.8個(gè)電子郵箱,每天使用電子郵件的網(wǎng)民占87%,每天使用手機(jī)查看郵件的網(wǎng)民占68%。由此可見作為Internet常用服務(wù)的電子郵件,在網(wǎng)絡(luò)用戶中有著廣泛的使用需求和用戶基礎(chǔ)。
電子郵件的使用離不開郵件服務(wù)器,該服務(wù)器是為客戶提供郵件服務(wù)的電子郵件系統(tǒng),它包括電子郵件的程序、電子郵箱、電子郵件協(xié)議等。大中型企業(yè)可以建設(shè)自己的郵件服務(wù)器,根據(jù)自己的需要設(shè)置郵箱屬性、用戶權(quán)限、安全級別等,適應(yīng)企業(yè)自身發(fā)展的需求。
1 主流的電子郵件服務(wù)器
當(dāng)前的Linux平臺中,常見的電子郵件服務(wù)器包括Sendmail、Postifix和Qmail等。
1.1 Sendmail服務(wù)器
在全世界范圍內(nèi),無論是從使用的廣泛程度,還是從代碼的復(fù)雜程度來講,Sendmail都是一款非常優(yōu)秀的軟件。幾乎所有Linux的缺省配置中都內(nèi)置了這個(gè)軟件,只要設(shè)置好操作系統(tǒng),它就能運(yùn)轉(zhuǎn)起來。它是一個(gè)免費(fèi)軟件,可以支持?jǐn)?shù)千甚至更多的用戶,而且占用的系統(tǒng)資源相當(dāng)少。Sendmail的系統(tǒng)結(jié)構(gòu)不適合較大的負(fù)載,對于高負(fù)載的郵件系統(tǒng),需要對Sendmail進(jìn)行復(fù)雜的調(diào)整。
1.2 Postfix服務(wù)器
基于IBM的GPL協(xié)議開發(fā)的postfix是一款開放源代碼的優(yōu)秀軟件,它是提供Sendmail替代品的一個(gè)嘗試。在Internet世界中,大部分的電子郵件都是通過sendmail來投遞的,該服務(wù)器每天投遞上億封郵件。Postfix試圖更快、更容易管理、更安全,同時(shí)還與sendmail保持足夠的兼容性。該軟件利用多層防護(hù)措施來保護(hù)本地系統(tǒng),它的速度比同類的產(chǎn)品快3倍以上。
1.3 Qmail服務(wù)器
Omail是由Dan Bernstein開發(fā)的郵件服務(wù)器軟件,它廣泛運(yùn)行于Linux/Unix系統(tǒng)中。該服務(wù)器將Mail處理過程分為多個(gè)過程,同時(shí)避免用管理員用戶運(yùn)行。該服務(wù)器支持直接投遞,保證了Email在投遞過程中不會丟失,同時(shí)支持新的更可靠的信箱格式Maiidir,保證運(yùn)行環(huán)境突然崩潰下信箱系統(tǒng)的穩(wěn)定性和安全性。
2 電子郵件系統(tǒng)的框架
2.1 電子郵件系統(tǒng)的組成
電子郵件服務(wù)是基于客戶/服務(wù)器模式的。一個(gè)完整的電子郵件系統(tǒng)由以下3部分組成:MTA,MUA,LDA。
郵件代理器(MTA)運(yùn)行在郵件服務(wù)器上,負(fù)責(zé)郵件的存儲和轉(zhuǎn)發(fā)。監(jiān)視用戶代理的請求,根據(jù)電子郵件的目標(biāo)地址找出對應(yīng)的郵件服務(wù)器,將信件在服務(wù)器之間傳輸并且將接收到的郵件進(jìn)行緩沖。在linux下的MTA程序有:sendmail,qmail,postifix等。
郵件用戶代理(MUA)是一個(gè)郵件系統(tǒng)的客戶端程序,它提供了閱讀、發(fā)送和接受電子郵件的用戶接口。最常用的有:Windows下的outlook,foxmail等,linux下的mail,MozilaMail,pine等。
本地投遞代理(LDA)是當(dāng)MTA將電子郵件投遞到郵件接收者的郵件賬號所在的服務(wù)器后,由LDA負(fù)責(zé)將電子郵件投遞到接收者的具體郵箱中。
2.2 電子郵件服務(wù)的協(xié)議
SMTP,POP3,IMAP協(xié)議是目前電子郵件服務(wù)器使用的主要協(xié)議。
2.1.1 SMTP協(xié)議
SMTP協(xié)議是Internet中首要的傳輸協(xié)議,默認(rèn)的端口是TCP的25端口。該協(xié)議也叫簡單郵件傳送協(xié)議,它負(fù)責(zé)把電子郵件從發(fā)件人的郵件服務(wù)器中發(fā)送到收件人的電子郵件服務(wù)器中。
2.2.2 POP3協(xié)議
POP3協(xié)議也叫郵局協(xié)議,它主要用來接收電子郵件。默認(rèn)的端口是TCP的110端口。它負(fù)責(zé)控制接收郵件的客戶機(jī)和電子郵件存儲服務(wù)器間的互連。
2.2.3 IMAP協(xié)議
IMAP協(xié)議是通過遠(yuǎn)程主機(jī)管理電子郵件的協(xié)議,默認(rèn)的端口是TCP的143端口。該協(xié)議使得收件^在自己的主機(jī)上能夠創(chuàng)建多個(gè)存放郵件的文件夾,以及在文件夾之間能夠互相轉(zhuǎn)移郵件。
3 配置Sendmail服務(wù)和Dovecot服務(wù)
RHEL5中使用最多的就是Sendmail服務(wù)器。在RHEL5系統(tǒng)中,配置電子郵件服務(wù)器之前,需要在防火墻中打開Sendmail服務(wù)的端口,可以在系統(tǒng)設(shè)置的安全級別中開啟25號端口,或者使用防火墻開啟該端口。然后配置Sendmail服務(wù)和Dovecot服務(wù)。
3.1 Sendmail服務(wù)器的安裝和啟動
配置sendmail服務(wù)器需要安裝如下軟件包:
安裝主程序包#rpm-ivh sendmail-8.13.8-2.el5.i386.rpm
安裝宏文件#rpm-ivh sendmail-ef 8.13.8-2.el5.i386.rpm
安裝開發(fā)工具包#rpm -i vh sendmaildevel-8.13.8-2.e15.i386.rpm
安裝說明文檔#rpm -ivh sendmail-doe-8.13.8-2.e15.i386.rpm
安裝宏處理過慮軟件包#rpm -ivh m4-1.4.5-3.e15.1.i386.rpm
安裝郵件接收軟件包
#rpm -ivh dovecot-1.01.2.rc15.e15.i386.rpm
Sendmail服務(wù)器開啟:#service sendmail start
Sendmail服務(wù)器關(guān)閉:#service sendmail stop
3.2 Sendmail服務(wù)器的基本配置
服務(wù)器的主配置文件/etc/mail/Sendmail.cf,該文件的配置方法較復(fù)雜,所以可以先配置較簡單的sendmail.mc文件,配置完成后通過M4命令生成sendmail.cf文件。
(1)更改偵聽范圍,在DAEMON_OPTIONS語句中,原有的語句“Addr=127.0.0.1”僅允許服務(wù)器接收本機(jī)發(fā)送的郵件,服務(wù)器需要接收因特網(wǎng)的所有合法郵件,所以在這里更改偵聽范圍為“Addr=0.0.0.0”如圖l所示。(2)更改郵件服務(wù)器的本地域名,在LOCAL_DOMAIN語句中,原有語句(localhost.loealdomain)默認(rèn)的域名是本地主機(jī)名,服務(wù)器在因特網(wǎng)中需要合法的域名,所以在這里更改域名為“wtcmail.eom”如圖2所示。(3)更改默認(rèn)郵件的大小,以字節(jié)計(jì)算,在define(、UUCP_MAILER_MAX','2000000')dnl語句中2000000為默認(rèn)郵件的大小,可以根據(jù)需要修改,如設(shè)置為5000000。(4)保存該配置文件,使用命令m4 sendmail.mc>sendmail.cf在服務(wù)器配置目錄中生成sendmail.cf主配置文件。重啟該服務(wù)器使新的配置文件生效。
3.3 配置POP3和IMAP服務(wù)器
電子郵件服務(wù)器的配置除了能夠正常發(fā)送郵件外,還要能夠接受郵件,所以還需要配置dovecot程序。
(1)在/etc/xinet d.d/imap配置文件中,將“disable=yes”更改為“disable=no”,啟動imap服務(wù)。
(2)在/etc/xinet d.d/ipop3配置文件中,將“disable=yes”更改為“disable=no”,啟動ipop3服務(wù)。
(3)使用命令service dovecot start啟動doveeot服務(wù)。
4 測試服務(wù)器端口,添加郵件測試用戶
4.1 測試服務(wù)器端口運(yùn)行情況
使用命令netstat驗(yàn)證tcp協(xié)議25端口、110端口、143端口的開啟情況,開啟情況正常則服務(wù)器可以正常使用如圖3所示。
4.2 添加郵件服務(wù)器的客戶端
(1)使用useradd命令為系統(tǒng)添加cx01和cx02測試用戶,使用passwd命令為2個(gè)測試用戶分別設(shè)置訪問密碼。(2)查看/vat/log/maillog發(fā)送日志,該文件記錄了每一封電子郵件的發(fā)送情況,它可以查看用戶發(fā)送郵件的源系統(tǒng)和目標(biāo)系統(tǒng)。(3)查看/etc/mail文件,該文件保存了用戶收發(fā)的郵件。
5 Linux客戶端測試郵件服務(wù)器
unuxg-p端可以使用mail命令完成電子郵件的發(fā)送和接收,
#mail-s"Welcome"cx01@wtcmail.com
#how are you.
#welcome to us
Mail-s后面的是電子郵件的主題,郵件的接收人是cx01@wtcmail.com,輸完后回車即可輸入郵件的正文,使用CTRL+D鍵結(jié)束正文的輸入。此時(shí)電腦提示輸入郵件的抄送地址,輸入完成后即可完成此次電子郵件的發(fā)送。cx01用戶接收到的郵件會保存在/vat/spool/mail/cx01中,cx01用戶使用mail命令即可查看收到的電子郵件,系統(tǒng)會顯示登錄用戶的前20封郵件。