2012-05-11

Centos 安裝 Postfix + Dovecot + Postfix SMTP 驗證

Centos 安裝 Postfix + Dovecot + Postfix SMTP 驗證

Step 1
安裝  Postfix  與  Dovecot  基本套件

yum  -y  install  postfix  dovecot  system-switch-mail

※Centos 6.x 預設 MDA 為 Postfix,所以不需安裝 system-switch-mail
※Centos 6.x 預設沒有 vim,yum -y install vim

Step 2
開機時啟動 Postfix Dovecot

chkconfig postfix  on
chkconfig dovecot  on

Step 3 修改 main.cf

vim  /etc/postfix/main.cf

幾個基本需要修改的部分

myhostname = s1.test.net ( FQDN )
mydomain = test.net ( domain name )
myorigin = $myhostname ( 將 # 移掉 )
inet_interfaces = all
mydestionation = $myhostname, $mydomain, localhost.$mydomain, localhost
※( 指定 Postfix 會收下哪些域名的mail)
如 : @s1.test.net
       @test.net
       @localhost.test.net
       @localhost

※Centos 6.x 會有 ipv6 protocol (不需要就注解掉)
#inet_protocols = all

mynetworks = 192.168.0.0/22, 127.0.0.0/8 ( SMTP relay 192.168.0.0/22 這個網段的信件)
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/ ( 收下來的信件以目錄的格式儲存 )

Step 4  將aliases.db 轉成 postfix 格式

ls -al /etc/aliases ( 檢查 aliases 是否存在 )
newaliases ( 編譯 aliases 並轉為資料庫格式 aliases.db )
cat /etc/aliases.db

Step 5
修改 dovecot.conf

vim  /etc/dovecot.conf
※Centos 6.x 的路徑在 /etc/dovecot/dovecot.conf

Centos 5.x 修改的部分
protocols = pop3 ( 只留 pop3 的服務 )
mail_location = maildir:~/Maildir ( 搭配 main.cf 設定Maildir )

Centos 6.x 的路徑在 /etc/dovecot/dovecot.conf,Centos 6.x 修改的部分
protocols = pop3
disable_plaintext_auth = no
#listen = *, ::  取消注解  listen = *

※ listen = *, ::(表示接收 ipv6)

取消 ssl
vim /etc/dovecot/conf.d/10-ssl.conf

ssl = no

Step 6
安裝 cyrus-sasl-md5 cyrus-sasl-plain cyrus-sasl 套件

yum -y install cyrus-sasl-md5 cyrus-sasl-plain cyrus-sasl

修改 /etc/postfix/main.cf ,在後面加入

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

啟動 saslauthd 服務

chkconfig saslauthd on
/etc/init.d/saslauthd restart

Step 7
切換 Sendmail 為 Postfix (Centos 6.x 跳過此步驟)

system-switch-mail

Step 8
啟動 SMTP 與 POP 3 服務

/etc/init.d/postfix start
/etc/init.d/dovecot start

啟動 dovecot 時出現
tarting Dovecot Imap: Error: socket() failed: Address family not supported by protocol
Error: service(pop3-login): listen(::, 110) failed: Address family not supported by protocol
Fatal: Failed to start listeners
                                                           [FAILED]

表示 服務器沒啟動 IPv6,請將 listen = *, ::  改為 listen = * 即可

Step9
檢查  SMTP 與 POP3 服務是否都正常啟動

netstat -ntlp

tcp        0      0 0.0.0.0:110                 0.0.0.0:*                   LISTEN      7898/dovecot


tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      7884/master


測試  SMTP 認證功能是否生效(要出現 LOGIN PLAIN )

Step1 輸入 telnet localhost 25

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 s1.test.net ESMTP Postfix

Step2 輸入 ehlo localhost

ehlo localhost
250-mail.pengsme.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN















※測試 postfix 出現 Connection closed by foreign host.

telnet localhost 25

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

用 postconf -n 檢查 main.cf 設定
發現 mynetworks = 192.168.0..0/22, 127.0.0.0/8 設定錯誤,修正後再測試一次

telnet localhost 25

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 s1.test.net ESMTP Postfix


詳細設定請參閱 Postfx 三十天就上手

client 使用 web 收發E-mail!!!

yahoo pchome hotmail 拒絕接收自己架設的 SMTP 的 mail


沒有留言:

張貼留言