1. 系統安裝:
1)centos4.3 選上MAIL組件裏的所有。
2)hostname: mail.51test.com
2。搭建域名服務器DNS:
設置mail.51test.com ==192.168.1.223,並PING、NSLOOKUUP測試。
注意:#nmap mail.test.com要看到25、110、143等端口才行。
3。設置POSTFIX
[root@sample ~]# vi /etc/postfix/main.cf ← 編輯Postfix的配置文件
#myhostname = host.domain.tld ← 找到此行,將等號後面的部分改寫爲主機名
↓
myhostname = sample.centospub.com ← 變爲此狀態,設置系統的主機名
#mydomain = domain.tld ← 找到此行,將等號後面的部分改寫爲域名
↓
mydomain = centospub.com ← 變爲此狀態,設置域名(咱們將讓此處設置將成爲E-mail地址「@」後面的部分)
#myorigin = $mydomain ← 找到此行,將行首的#去掉
↓
myorigin = $mydomain ← 變爲此狀態,將發信地址「@」後面的部分設置爲域名(非系統主機名)
inet_interfaces = localhost ← 找到此行,將「localhost」改成「all」
↓
inet_interfaces = all ← 變爲此狀態,接受來自全部網絡的請求
mydestination = $myhostname, localhost.$mydomain, localhost ← 找到此行,在行爲添加「$mydomain」
↓
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ← 變爲此狀態,指定發給本地郵件的域名
#relay_domains = $mydestination ← 找到此行,將行首的#去掉
↓
relay_domains = $mydestination ← 變爲此狀態,定義容許轉發的域名
#mynetworks = 168.100.189.0/28, 127.0.0.0/8 ← 找到此行,依照本身的內網狀況修改
↓
mynetworks = 168.100.189.0/28, 127.0.0.0/8 ← 變爲此狀態,指定內網和本地的IP地址範圍
#home_mailbox = Maildir/ ← 找到這一行,去掉行首的#
↓
home_mailbox = Maildir/ ← 變爲此狀態,指定用戶郵箱目錄
# SHOW SOFTWARE VERSION OR NOT
#
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
#
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) ← 找到這一行,接此行添加以下行:
smtpd_banner = $myhostname ESMTP unknow ← 添加這一行,不顯示SMTP服務器的相關信息
在配置文件的文尾,添加以下行:
smtpd_sasl_auth_enable = yes ← 服務器使用SMTP認證
smtpd_sasl_local_domain = $myhostname ← 指定SMTP認證的本地域名(主機名)
smtpd_sasl_security_options = noanonymous ← 不容許匿名的方式認證
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
message_size_limit = 15728640 ← 規定郵件最大尺寸爲15MB
4。 配置SMTP認證的相關選項
爲了提升安全性,咱們不將系統用戶的密碼做爲相應用戶SMTP認證的密碼,而將在後面爲用戶創建SMTP認證專用的密碼。
[root@sample ~]# vi /usr/lib/sasl2/smtpd.conf ← 編輯SMTP認證的配置文件
pwcheck_method: saslauthd ← 找到此行,將「saslauthd」改成「auxprop」
↓
pwcheck_method: auxprop ← 不使用系統用戶密碼做爲用戶的SMTP認證密碼
[root@sample ~]# vi /etc/sysconfig/saslauthd
MECH=shadow ← 找到這一行,在前面加#
↓
#MECH=shadow ← 不使用shadow機制
FLAGS= ← 找到此行,在等號後面添加「sasldb」
↓
FLAGS=sasldb ← 定義認證方式爲sasldb2
5。創建用戶的郵箱目錄
首先創建用戶模板下的郵箱目錄,以便於創建新用戶時,相應用戶的郵箱目錄自動被創建。
[root@sample ~]# mkdir /etc/skel/Maildir ← 在用戶模板下創建用戶郵箱目錄
[root@sample ~]# chmod 700 /etc/skel/Maildir ← 設置用戶郵箱目錄屬性爲700
而後再爲已經存在的用戶創建相應郵箱目錄。
[root@sample ~]# mkdir /home/centospub/Maildir ← 爲用戶(這裏以centospub用戶爲例)創建郵箱目錄
[root@sample ~]# chmod 700 /home/centospub/Maildir ← 設置該用戶郵箱目錄屬性爲700
[root@sample ~]# chown centospub. /home/centospub/Maildir ← 設置該用戶郵箱目錄爲該用戶全部
6。爲用戶設置SMTP認證密碼
[root@sample ~]# saslpasswd2 -u sample.centospub.com -c centospub ← 爲centospub用戶設置SMTP認證密碼
Password: ← 在這裏輸入密碼(不會顯示)
Again (for verification): ← 再次輸入密碼
7。改變SALS的屬性及歸屬
[root@sample ~]# chgrp postfix /etc/sasldb2 ← 將數據庫歸屬改成postfix,
[root@sample ~]# chmod 640 /etc/sasldb2 ← 將數據庫屬性改成640
8。關閉sendmail服務及設置默認MTA
由於在用Postfix做爲SMTP服務器的前提下,咱們不許備再用sendmail,因此將sendmail服務關掉,以確保安全及節省系統資源。
[root@sample ~]# /etc/rc.d/init.d/sendmail stop ← 關閉sendmail服務
Shutting down sendmail: [ OK ]
Shutting down sm-client: [ OK ]
[root@sample ~]# chkconfig sendmail off ← 關閉sendmail自啓動
[root@sample ~]# chkconfig --list sendmail ← 確認sendmail自啓動已被關閉(都爲off就OK)
sendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off
9。而後再將默認的MTA設置爲Postfix。
[root@sample ~]# alternatives --config mta ← 設置默認MTA
There are 2 programs which provide 'mta'.
Selection Command
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail ← 當前狀態:sendmail爲默認MTA
2 /usr/sbin/sendmail.postfix
Enter to keep the current selection[+], or type selection number: 2 ← 在這裏輸入2,使Postfix成爲默認MTA
10。最後,啓動SMTP認證及Postfix服務,並設置相應服務爲自啓動。
[root@sample ~]# chkconfig saslauthd on ← 將SMTP-Auth設置爲自啓動
[root@sample ~]# chkconfig --list saslauthd ← 確認SMTP-Auth服務狀態
saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 確認2~5爲on的狀態就OK
[root@sample ~]# /etc/rc.d/init.d/saslauthd start ← 啓動SMTP-Auth
Starting saslauthd: [ OK ]
[root@sample ~]# chkconfig postfix on ← 將Postfix設置爲自啓動
[root@sample ~]# chkconfig --list postfix ← 確認Postfix服務狀態
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 確認2~5爲on的狀態就OK
[root@sample ~]# /etc/rc.d/init.d/postfix start ← 啓動Postfix
Starting postfix: [ OK ]
至此,就完成了SMTP服務器方面的配置,但目前只具從備客戶端經過服務器發送郵件的功能。作爲完整的郵件服務器,還需具有從客戶端經過POP/IMAP協議接受郵件到本地的功能。
11。POP / IMAP
pop/imap是 MUA 從郵件服務器中讀取郵件時使用的協議。其中,與 POP3 是從郵件服務器中下載郵件比起來,IMAP4 則是將郵件留在服務器端直接對郵件進行管理、操做。這裏,咱們用 Dovecot 來實現對 POP3 及 IMAP4 等協議支持的郵件接收服務器的搭建。
Dovecot 是一個比較新的軟件,由 Timo Sirainen 開發,最初發佈於 2002年7月。做者將安全性考慮在第一,因此 Dovecot在安全性方面比較出衆。另外,Dovecot 支持多種認證方式,因此在功能方面也比較符合通常的應用。
12。首先,安裝 Dovecot
[root@sample ~]# yum -y install dovecot ← 在線安裝 Dovecot
13。而後,修改相應配置文件,配置 Dovecot 。
[root@sample ~]# vi /etc/dovecot.conf ← 編輯Dovecot 的配置文件
#protocols = imap imaps ← 找到這一行,將協議設置爲imap與pop3
↓
protocols = imap pop3 ← 變爲此狀態
#default_mail_env = ← 找到這一行,定義郵件目錄
↓
default_mail_env = maildir:~/Maildir ← 定義郵件目錄爲用戶目錄下的Maildir目錄
14。因爲 POP3 協議與 IMAP4 協議要分別用到110號和143號端口,因此在啓動服務前,配置防火牆,開通這兩個端口。
root@sample ~]# vi /etc/sysconfig/iptables ← 編輯防火牆規則
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT ← 找到此行,接着添加以下兩行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT ← 容許POP使用的110號端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT ← 容許IMAP使用的143號端口
[root@sample ~]# /etc/rc.d/init.d/iptables restart ← 從新啓動防火牆,使新的設置生效
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
15。最後,啓動 Dovecot ,並將其設置爲自啓動。
[root@sample ~]# chkconfig dovecot on ← 設置Dovecot爲自啓動
[root@sample ~]# chkconfig --list dovecot
dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 確認2~5爲on的狀態就OK
[root@sample ~]# /etc/rc.d/init.d/dovecot start ← 啓動Dovecot服務
Starting Dovecot Imap: [ OK ]
至此,配合Postfix,就能夠經過E-mail客戶端軟件實現電子郵件的收發了。html