Linux中postfix郵件伺服器的搭建(親測)
postfix是Wietse Venema在IBM的GPL協議之下開發的MTA(郵件傳輸代理)軟體。postfix是Wietse Venema想要為使用最廣泛的sendmail提供替代品的一個嘗試。在Internet世界中,大部分的電子郵件都是通過sendmail來投遞的,大約有100萬用戶使用sendmail,每天投遞上億封郵件。這真是一個讓人吃驚的數字。Postfix試圖更快、更容易管理、更安全,同時還與sendmail保持足夠的相容性。
1、首先設定hostname
事先設定好hostname的話,Postfix可以自動配置好很多引數,節省時間。我們要假設的網站域名為100p.com,要搭建獨立的郵件伺服器,就把主機名設定為mail.100p.com。
#echo 'mail.100p.com' > /etc/hostname
#hostname -F /etc/hostname
2、安裝Postfix
#rpm -ivh *.rpm
我們的系統一般預設已經安裝好Postfix。
#rpm -qa | grep postfix
postfix-2.6.6-6.el6_5.x86_64
3、基本配置
Postfix的配置檔案位於/etc/postfix/main.cf
*myhostname* //主機名 myhostname = mail.100p.com *mydomain* //使用郵件域 mydomain = 100p.com //mydomain 設定本地網路的郵件域 *myorigin* //外發郵件時發件人的郵件域名 myorigin = $mydomain //在通過Postfix傳送郵件的時候,如果From欄位不完整,Postfix會根據myorigin的值將地址補全為*@mail.100p.com,此處可以填$mydomain 或者 $myhostname *埠* //埠掃描監控全部的埠 inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost #inet_interfaces = localhost *mydestination* //可接受郵件地址域名 mydestination = $myhostname,$mydomain //mydestination指定了postfix在收到這些域名地址為目標的郵件時,作為接受方收下郵件。如果收到的郵件既不符合轉發規則,又不符合接受規則,則拒絕收信。 *mynetworks* //需要收發的客戶端的地址 mynetworks = 0.0.0.0 //mynetworks指定了本地網路的IP段,預設只包含主機自己,你可以新增需要收發的客戶端的地址。
4、 重啟服務
配置完postfix的主要引數之後,需要重啟postfix服務,重啟方法如下:
#service postfix restart
#/etc/init.d/postfix restart
服務重啟失敗,postfix - master dead but pid file exists
1 remove /var/spool/postfix/pid/master.pid
如果還存在這個問題,可以檢視埠
1 # netstat -lnp | grep :25
殺死程序,重新啟動postfix服務
5、安裝dovecot,啟動服務
1 #service devocot restart
配置檔案,新增一下內容
# vi /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
mail_location = mbox:/var/mail:INBOX=/var/mail/%u
# vi /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
#vi /etc/dovecot/conf.d/10-ssl.confssl = no
6、測試收郵件,我們搭建的郵件伺服器的地址為20.0.2.16,我們使用telnet進行測試:
[[email protected] postfix]# telnet 20.0.2.16 25
Trying 20.0.2.16...
Connected to gio016 (20.0.2.16).
Escape character is '^]'.
220 mail.100p.com ESMTP Postfix
*MAIL FROM: [email protected]* // *為要輸入的內容* 傳送的郵件地址
250 2.1.0 Ok
*RCPT TO: bmc* // 接受的使用者名稱
250 2.1.5 Ok
*DATA* // 傳送的內容
354 End data with <CR><LF>.<CR><LF>
*This is a test mail.*
*.* // 輸入要傳送的內容,以點號結束
250 2.0.0 Ok: queued as 172B162C17A
*quit* // quit退出測試
221 2.0.0 Bye
傳送成功之後就可以再gio016的/var/mail/mbc下檢視到剛才傳送的郵件
郵件內容如下:
From [email protected] Thu Sep 22 16:31:56 2016
Return-Path: <[email protected]>
X-Original-To: bmc
Delivered-To: [email protected]
Received: from gio020 (gio020 [20.0.2.20])
by mail.100p.com (Postfix) with SMTP id 172B162C17A
for <bmc>; Thu, 22 Sep 2016 16:31:12 +0800 (CST)
DATA
This is a test mail.