centos sendmail 郵件服務器配置

http://www.cnblogs.com/fjsbf/archive/2010/01/26/1656706.html

 

 

二、SendMail常規配置

SendMail運行過程是讀取/etc/mail/sendmail.cf配置文件,但該文件配置比較複雜,所以一般是配置/etc/mail/sendmail.mc,然後通過以下命令生成sendmail.cf文件(每次修改sendmail.mc後都必須通過使用該命令後再重啓sendmail服務,否則配置不會生效)。 網管網bitsCN_com

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

在/etc/mail/sendmail.mc文件對格式要求非常嚴格:

每句左邊不能有空格
區分大小寫
註釋在最左邊加dnl
每句必須以dnl結束
增加的語句,不能在最後一行
語句中的引號,如下圖

 

  網管網bitsCN_com

1、安裝bind及相關軟件包。

 

       
yum -y install sendmail-cf.i* sendmail-doc.i*  

 

2、SendMail在默認只偵聽127.0.0.1,此處要修改爲偵聽指定網絡接口或0.0.0.0(本機所有IP)

 

3、增加本服務器可處理的FQDN或區域名(只有在列表的本服務器才處理)。這需要修改/etc/mail/local-host-names文件。

  

4、執行以下步驟後SendMail即可收發郵件。

 

到此一個最簡單的郵件系統已經通過SendMail實現了,下面來看看如何通過telnet命令測試郵件系統是否可以正常工作。

  網管網bitsCN_com

在linux字符模式中收取當前用戶收件箱內容使用mail命令。

三、SendMail其它配置 www.bitsCN.net

1、SendMail本地別名 中國網管聯盟www_bitscn_com

SendMail可以通過本地別名實現以下功能郵件轉發、郵件組等功能,配置時用戶必須是本地郵件用戶。實現時需要編輯/etc/aliases文件,其方法如下圖:


user1的郵件轉發一份user2。
user3的郵件轉發給user4,user3收不到。
發送給hr(系統中沒有這個用戶)的郵件user5及user6可收到。

2、SendMail虛擬別名

SendMail可以通過本地別名實現以下功能郵件轉發等功能,配置時用戶可以任意,該功能可以將郵件轉發到外部區域。實現時需要編輯/etc/mail/virtusertable文件,其方法如下圖: 
  bitscn_com

1:發送給[email protected]郵件轉發到[email protected]

 

2:發送給[email protected]的郵件轉發到[email protected]

 

3:所有發送給temp.zqin區域的郵件全部轉發到[email protected]

 

4:所有發送給tmp.zqin的郵件轉到對應%[email protected],%1表示收件人。

 

3、SendMail地址僞裝

SendMail對本服務器所有發出的郵件進行地址僞裝(自動修改發件人地址)。 網管網bitsCN_com

全局僞裝 中國網管聯盟www、bitsCN、com

全局僞裝針對所有本區域用戶,此功能需修改/etc/mail/sendmail.mc文件,下面的例子中所有發住外部區域的郵件收件人所有區域自動修改爲zhangqin.com:

 

       
MASQUERADE_AS(`zhangqin.com’)dnl      #複製修改爲要僞裝的域名
FEATURE(masquerade_envelope)dnl       #這句有例句就在第一句的下幾行,取消註釋即可
FEATURE(masquerade_entire_domail)dnl   #這句有例句就在第一句的下幾行,取消註釋即可 www.bitsCN.net

 

指定用戶僞裝

指定用戶的地址僞裝,該功能只能用於收件人是外部域。這個可以和全局地址僞裝同時使用。下面的例子中將所有[email protected]發出的郵件發件人修改爲[email protected]
修改/etc/mail/sendmail.mc文件。

 

       
FEATURE(genericstable)dnl                    #需要輸入,genericstable文件需要新建
MASQUERADE_AS(`always_add_domain’)dnl     #這句配置文件中有,不需修改
GENERICS_DOMAIN_FILE(`/etc/mail/local-host-names’)dnl     #需要輸入 bitscn_com

 

建立用戶列表。

在lost-hosts-names中加入虛擬區域名稱

4、SendMail訪問控制

通過/etc/access可以對通過SendMail的郵件流進行控制,其對郵件流通過的動作主要有以下幾種:

From:發件人是其它域,收件人是當前域
To:發件人是當前域,收件人是其它域
Connect:發件人、收件人都是其它域

中繼限制可用動作: bitscn.com

REJECT:拒收併發退信通知
OK:無條件接收,當與REJECT發生衝突時優生
RELAY:接收,當與REJECT發生衝突時REJECT優先
DISCARD:拒絕
ERROR:550 your message:拒絕,返回特定通知 網管網bitsCN.com

下圖是一個/etc/access文件的例子:

 四、Dovecot常規配置

SendMail只能實現SMTP協議的功能,而目前在使用郵件系統時很多用戶還是習慣使用類似foxmail的一些郵件客戶端軟件,這些軟件通常都支持pop3、IMAP4等協議。如果希望在RHEL中實現pop3、IMAP4需要使用dovecot。
安裝

1、安裝dovecot軟件包。 中國網管論壇bbs.bitsCN.com

 

  yum -y install dovecot.i*    
  

 

2、dovecot配置比較簡單,通常只需修改Dovecot修改支持的協議即可。在/etc/dovecot.conf中已有,只需取消註釋即可(如下圖)。

 中國網管論壇bbs.bitsCN.com

3、啓動dovecot並將其設置爲自動運行。

 

  service dovecot restart
chkconfig dovecot on

 

五、配置POPs&IMAPs

pop3及IMAP4協議都是採用明文方式進行數據傳輸,不過可以通過SSL對其數據傳輸進行加密
。配置方法如下: www.bitsCN.net

1、在/etc/pki/tls/certs目錄下輸入以下命令生成密鑰(dovecot.pem只是文件名可任意)。www.bitsCN.net

編輯/etc/dovecot.conf文件,加入下圖內容:

在dovecot配置完成後可以通過mutt命令對pop3/pops及imap/iamps進行測試。具體方法如下:

1、使用POP3方法驗證Dovecot

mutt -f pop://user@server[:port]

 

mutt -f pops://user@server[:port]

輸入命令可通過pop(如使用pops方式,將下圖命令中pop改爲pops即可)方式收取郵件,注意是接服務器名稱。

 

  mutt -f pop://[email protected]  

 

中國網管論壇bbs.bitsCN.com

輸入用戶密碼

進入後可看到該用戶的郵件

  feedom.net

在上、下移動選擇郵件回車可查看。

2、使用IMAP4方法驗證Dovecot

 

mutt -f imap://user@server[:port]
mutt -f imaps://user@server[:port] 網管網bitsCN_com

輸入命令可通過imap(如使用pops方式,將下圖命令中pop改爲pops即可)方式收取郵件,注意是接服務器名稱。

 

mutt -f imap://[email protected]  

 

輸入”o”同意開始通過imap連接服務器

 

進入後輸入用戶密碼,可看到該用戶的郵件

 

 六、OpenWebMail常規配置

 

對於一個完整的郵件系統,提供用戶通過瀏覽器訪問是一個必不可少的功能,而使用OpenWebMail爲用戶提供該功能也是很不錯的選擇。不過在RHEL中默認並沒有提供OpenWebMail的軟件包,只有從www.openwebmail.com網站或從其它rpm包下載網站下載。OpenWebMail需要使用到apache、perl-Text-Iconv、perl-suidper軟件包。

1、安裝OpenWebMail及相關軟件包。

 

yum -y install httpd.i*
rpm -ivh perl-Text-Iconv-1.5-1.fc8.i386
rpm -ivh perl-suidperl-5.8.8-41.fc8.i386
rpm -ivh openwebmail-2.51-5.i586

 

2、將配置文件/var/www/cgi-bin/openwebmail/etc/dbm.conf的內容修改爲以下內容。

 

db_ext    .db
dbmopen_ext   .db
dbmopen_haslock  no

 

中國網管論壇bbs.bitsCN.com

3、使用以下命令初始化OpenWebMail。

 

4、修改相關默認配置,編輯/var/www/cgi-bin/openwebmail/etc/openwebmail.conf文件。

default_language zh_cn gb2312            將預設語言改爲簡體中文。
default_iconset Cool 3D.Chinese.Simplified  將原有的English改爲Chinese.Simplified,才能顯示中文圖標。
domainnames example.zqin                更改爲自己定義的域名。
smtpserver 192.168.0.14                   更改smtp服務器的地址。
authpop3_server 192.168.0.14              更改pop3服務器的地址。
auth_module  auth_unix.pl                將用戶認證方式改爲使用/etc/passwd及/etc/shadow文件。

通過http://mail.example.zqin/cgi-bin/openwebmail/openwebmail.pl就可以訪問到openwebmail了(如下圖)。
 

  bitscn.com

5、很顯然這個地址太長了,可以/etc/httpd/conf/httpd.conf文件中增加如下內容後,可通過http://mail.example.zqin/mail就可以訪問了。

 

ScriptAlias  /mail     /usr/local/apache/cgi-bin/openwebmail/openwebmail.pl bitscn_com 

 

6、設置用戶配額,在/var/www/cgi-bin/openwebmail/etc/openwebmail.conf中最尾幾行是配額的例子,下面是相關參數的作用。 中國網管聯盟www.bitscn.com

quota_module            quota_unixfs.pl       quota的模板,由於郵件帳戶還是Linux帳戶,所以選它
spool_limit             5120                    郵箱限定5M
quota_limit             10240                 所有空間(包括郵箱)限定10M
quota_threshold         70                  空間使用達到配額的70%就提示
delmail_ifquotahit      no                  是否在空間使用超出配額時刪除舊的郵件 中國網管聯盟www.bitscn.com 
delfile_ifquotahit       no                   是否在空間使用超出配額時刪除舊的文件 中國網管聯盟www.bitscn.com

到此整個郵件環境已搭建完成,不過這些只能算是第一步,對於一個成熟的郵件系統還有很多工作要做。永遠都要記住郵件系統是貌似簡單但實際維護量非常大的應用系統。比如防止垃圾郵件、病毒郵件、用戶行爲控制等等,這些將會在後繼的文章中爲大家講解。 

 

在上、下移動選擇郵件回車可查看。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章