1.Sendmail服務軟件包
sendmail-8.13.8-2.el5.i386.rpm:sendmail服務的主程序包,服務器端必須安裝該軟件包。
sendmail-cf-8.13.8-2.el5.i386.rpm:sendmail宏文件包
sendmail-devel-8.13.8-2.el5.i386.rpm:sendmail服務器開發工具軟件包
sendmail-doc-8.13.8-2.el5.i386.rpm:sendmail服務器的說明文檔
m4-1.4.5-3.el5.1.i386.rpm:宏處理過慮軟件包
dovecot-1.0-1.2.rc15.el5.i386.rpm:接收郵件軟件包,安裝時需要注意安裝順序
sendmail-cf-8.13.8-2.el5.i386.rpm:sendmail宏文件包
sendmail-devel-8.13.8-2.el5.i386.rpm:sendmail服務器開發工具軟件包
sendmail-doc-8.13.8-2.el5.i386.rpm:sendmail服務器的說明文檔
m4-1.4.5-3.el5.1.i386.rpm:宏處理過慮軟件包
dovecot-1.0-1.2.rc15.el5.i386.rpm:接收郵件軟件包,安裝時需要注意安裝順序
2.Sendmail相關配置文檔
sendmail.cf:sendmail核心配置文件,位於/etc/mail/sendmail/sendmail.cf
sendmail.mc:sendmail提供sendmail文件模板,通過編輯此文件後再使用m4工具將結果導入sendmail.cf完成配置sendmail核心配置文件,降低配置複雜度,位於/etc/mail/sendmail.mc
local-host-name:定義收發郵件服務器的域名和主機別名,位於/etc/mail/local-host-name
access.db:用來設置sendmail服務器爲哪些主機進行轉發郵件,位於/etc/mail/access.db
aliases.db:用來定義郵箱別名,位於/etc/mail/aliases.db
virtusertable.db:用來設置虛擬賬戶,位於/etc/mail/virtusertable.db
3.郵件功能組件
MUA:郵件用戶代理(Mail User Agent)
MTA:郵件傳輸代理(Mail Transfer Agent)
MDA:郵件遞送代理(Mail Delivery Agent)
4.Sendmail常規服務器配置
搭建Sendmail服務器流程:
(1)配置sendmail.mc文件
(2)使用m4工具將sendmail.mc文件導入sendmail.cf文件
(3)配置local-host-names文件
(4)建立用戶帳號
(5)重新啓動服務使配置生效
Sendmail應用案例1:
局域網網段:192.168.8.0/24
企業域名:redking.com
DNS及Sendmail服務器地址:192.168.8.1
sendmail服務是和DNS服務結合相當緊密的一個服務,所以我們在配置sendmail之前,需要設置並調試好DNS服務器(DNS配置請參考上季[RHEL5),DNS配置中設置MX資源記錄指定郵件服務器地址。企業級Linux服務攻略]--第4季 DNS服務全攻略
(1)配置DNS主配置文件named.conf
(2)配置redking.com區域文件
使用MX記錄設置郵件服務器,這條記錄一定要有,否則Sendmail無法正常工作。
(3)配置redking.com反向區域文件
(4)修改DNS域名解析的配置文件
vim /etc/resolv.conf
(5)重啓named服務使配置生效
(6)安裝Sendmail軟件包
RHEL5默認安裝sendmail-8.13.8-2.el5及m4-1.4.5-3.el5.1軟件包,我們只需要安裝sendmail-cf-8.13.8-2.el5宏文件包就可以了。
(7)編輯sendmail.mc修改SMTP偵聽網段範圍
配置郵件服務器需要更改IP地址爲公司內部網段或者0.0.0.0,這樣可以擴大偵聽範圍(通常都設置成0.0.0.0),否則郵件服務器無法正常發送郵件。
vim /etc/mail/sendmail.mc
第116行將smtp偵聽範圍從127.0.0.1改爲0.0.0.0
第155行修改成自己域:LOCAL_DOMAIN(`redking.com')dnl
使用m4命令生成sendmail.cf文件,其實sendmail.mc即是一個模板文件哈~
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
(8)修改local-host-names文件添加域名及主機名
vim /etc/mail/local-host-names
(9)安裝Dovecot軟件包(POP3和IMAP)
到這裏sendmail服務器基本配置完成後,Mail Server就可以完成郵件發送工作,如果需要使用POP3和IMAP協議接收郵件還需要安裝dovecot軟件包。在rhel5裏dovecot整合了IMAP。
安裝dovecot軟件包要解決其依賴性,安裝per-DBI-1.52-1.fc6.i386.rpm和mysql-5.0.22-2.1.0.1.i386.rpm
(10)啓動Sendmail服務
service sendmail restart和service dovecot restart命令啓動sendmail和dovecot服務,如果每次開機啓動,可以使用chkconfig命令修改。
(11)測試端口
使用netstat命令測試是否開啓SMTP的25端口、POP3的110端口及IMAP的143端口。
也可以使用netstat -ntla
(12)驗證Sendmail的SMTP認證功能
telnet localhost 25 後輸入ehlo localhost驗證Sendmail的SMTP認證功能
telnet localhost 110
telnet mail.redking.com 25
telnet mail.redking.com 110
(13)建立用戶
(14)客戶端測試
Sendmail應用案例2:
公司採用兩個網段和兩個域來分別管理內部員工
team1.redking.com域採用192.168.10.0/24網段
team2.redking.com域採用192.168.20.0/24網段
DNS及Sendmail服務器地址:192.168.8.1
要求:
(1)員工可以自由收發內部郵件並且能夠通過郵件服務器往外網發信。
(2)設置兩個郵件羣組team1和team2,確保發送給team1的郵件“team1.redking.com”域成員都可以收到,同理哈,發送給team2的郵件“team2.redking.com”域成員都可以收到。
(3)禁止待客室的主機192.168.10.88使用Sendmail服務器。
需求分析:
要求(1)中設置員工自由收發內部郵件可以參考Sendmail應用案例1去設置哈,如果需要郵件服務器把郵件發到外網需要設置access文件。
要求(2)需要別名設置來實現羣發功能。
要求(3)需要在access文件中拒絕(REJECT)192.168.10.88
因實驗原因:由senmail郵件服務器代替路由器功能哈~
配置實戰:
(1)配置DNS服務
配置DNS主配置文件named.conf
配置redking.com.zone區域文件
配置8.168.192.in-addr.arpa.zone反向區域文件
配置team1.redking.com.zone區域文件
配置10.168.192.in-addr.arpa.zone反向區域文件
配置team2.redking.com.zone區域文件
配置20.168.192.in-addr.arpa.zone反向區域文件
(2)修改DNS域名解析的配置文件
vim /etc/resolv.conf
(3)重啓named服務使配置生效
(4)安裝Sendmail軟件包
RHEL5默認安裝sendmail-8.13.8-2.el5及m4-1.4.5-3.el5.1軟件包,我們只需要安裝sendmail-cf-8.13.8-2.el5宏文件包就可以了。
(5)編輯sendmail.mc修改SMTP偵聽網段範圍
配置郵件服務器需要更改IP地址爲公司內部網段或者0.0.0.0,這樣可以擴大偵聽範圍(通常都設置成0.0.0.0),否則郵件服務器無法正常發送郵件。
vim /etc/mail/sendmail.mc
第116行將smtp偵聽範圍從127.0.0.1改爲0.0.0.0
第155行修改成自己域:LOCAL_DOMAIN(`redking.com')dnl
使用m4命令生成sendmail.cf文件,其實sendmail.mc即是一個模板文件哈~
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
(6)修改local-host-names文件添加域名及主機名
vim /etc/mail/local-host-names
(7)羣發郵件設置
vim /etc/aliases
aliases文件語法格式:
真實用戶帳號:別名1,別名2
使用newaliases命令生成aliases.db數據庫文件
(8)配置訪問控制的access文件
在RHEL5中,默認Sendmail服務器所在的主機的用戶可以任意發送郵件,而不需要任何身份驗證,即注意/etc/mail/access文件中有一行Connect: 127.0.0.1 RELAY
生成access數據庫文件
makemap hash access.db < access
(9)安裝Dovecot軟件包(POP3和IMAP)
到這裏sendmail服務器基本配置完成後,Mail Server就可以完成郵件發送工作,如果需要使用POP3和IMAP協議接收郵件還需要安裝dovecot軟件包。在rhel5裏dovecot整合了IMAP。
安裝dovecot軟件包要解決其依賴性,安裝per-DBI-1.52-1.fc6.i386.rpm和mysql-5.0.22-2.1.0.1.i386.rpm
(10)啓動Sendmail服務
service sendmail restart和service dovecot restart命令啓動sendmail和dovecot服務,如果每次開機啓動,可以使用chkconfig命令修改。
(11)測試端口
使用netstat -ntla命令測試是否開啓SMTP的25端口、POP3的110端口及IMAP的143端口。
(12)建立用戶
(13)客戶端測試
192.168.8.0/24網段測試
羣發測試
192.168.10.0/24網段測試
在服務器端可以看到team1組成員郵箱已經收到192.168.8.0/24網段中michael用戶發的郵件。下面我們在192.168.10.0/24網段接收測試下~~~
正常接收羣發郵件
下面由team1.redking.com區域向team2.redking.com用戶成員羣發郵件~~~
成功發送~~
下面team2成員用戶應該收到兩個封郵件
192.168.20.0/24網段測試
服務器端狀態:
客戶端狀態:
待客室主機192.168.10.88測試
最後我們測試禁止待客室的主機192.168.10.88使用Sendmail服務器
192.168.10.88主機不能使用Sendmail郵件功能
將受限的IP地址192.168.10.88換成其他不受限制的IP地址就可以將這原本不能發送的郵件發送出去了~~~