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
沒有留言:
張貼留言