yum install postfix dovecot yum remove sendmail
請注意,CentOS 5中的默認MTA 是sendmail。若是您不將默認MTA做爲後綴,更新後綴可能會致使默認MTA恢復爲sendmail。html
接下來,咱們須要配置電子郵件服務器的各個部分。數據庫
Postfix配置文件存儲在 /etc/postfix 中。兩個主要的postfix配置文件是master.cf 和 main.cf,雖然咱們這裏只處理 main.cf。首先,咱們將對main.cf 配置文件進行一些添加或更改。應添加,編輯或取消註釋如下行:服務器
myhostname = mail.example.com mydomain = example.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname,localhost.$mydomain,localhost,$mydomain mynetworks = 192.168.0.0/24,127.0.0.0/8 relay_domains = home_mailbox = Maildir/
注意:每一行應重新行的開頭開始,不該以空格或製表符開頭。行開頭的空格或製表符被視爲前一行的延續,若是前一行是註釋(#)行,則後續行也被視爲這樣。此外,應避免內聯註釋。網絡
如今讓咱們看看每一個設置項,以瞭解咱們剛剛作了什麼:dom
接下來,咱們須要爲其主目錄中的每一個用戶建立一個郵箱並設置相應的權限,所以使用咱們的示例用戶john:post
mkdir /home/john/Maildir chown john:john /home/john/Maildir chmod -R 700 /home/john/Maildir
注意:若是以root身份建立用戶郵箱,則必須將目錄的全部權設置爲用戶。測試
咱們差很少完成了。咱們爲咱們的用戶 John Smith 設置了一個電子郵件賬戶,該賬戶以john 身份登陸。他的電子郵件地址是 john@example.com。可是,John 可能但願收到jsmith@example.com(或任何其餘別名)的電子郵件。咱們能夠經過使用系統別名文件爲John 設置別名來實現此目的(默認狀況下,postfix使用 /etc/aliases )。咱們還能夠爲其餘用戶添加別名,例如咱們也能夠經過將如下內容添加到/etc/aliases 來將 root 的電子郵件重定向到 John :.net
# Person who should get root's mail root: john # User aliases jsmith: john j.smith: john
若是在運行postfix
後編輯別名文件覺得用戶設置新別名,則必須經過運行newaliases
命令重建別名數據庫。代理
咱們如今準備啓動新的電子郵件服務器。首先,咱們須要告訴咱們的系統使用 postfix 做爲MTA而不是默認的 sendmail。爲此,請運行 system-switch-mail 命令並選擇 postfix做爲MTA。這將安裝後綴服務並將其設置爲在運行級別3,4和5自動啓動。接下來,咱們須要將dovecot服務設置爲也自動從運行級別3,4和5開始,並啓動這兩個服務:code
chkconfig --level 345 dovecot on /etc/init.d/dovecot start /etc/init.d/postfix start
此時你應該啓動並運行。您的電子郵件服務器在內部發送和接收電子郵件以及發送外部電子郵 要在您的域上接收外部電子郵件,您還須要在 DNS 中爲您的域配置 MX 記錄(理想狀況下,還應經過您的ISP將IP地址映射到您的域來配置 PTR rDNS 條目)。不要忘記在Linux防火牆上打開任何所需的端口,具體取決於您運行的服務(SMTP 25; POP3 110; IMAP 143; IMAPS 993; POP3S 995),併爲任何路由器上的端口啓用端口轉發。
若是對 postfix 配置文件 main.cf 進行任何更改,則能夠從新啓動 postfix 服務或運行 postfix reload
命令來更新更改。
Postfix是一種功能強大且功能多樣的郵件傳輸代理。在本文中,咱們已經瞭解瞭如何使用postfix 和 dovecot爲基於系統用戶賬戶的單個域實現基本電子郵件服務器。咱們幾乎沒有涉及基於 postfix 的系統的真正功能,但但願能爲新用戶構建提供堅實的工做基礎。