☛ IMAP 與 POP3 收信
postfix 伺服器主要提供 SMTP 協定服務,而使用者收信時則是採用其他如 POP3、IMAP 等協定連上伺服器讀取信件,因此要額外進行這類伺服器的設定才能讓使用者連上伺服器收信。
☛必要的套件與設定
CentOS 的 IMAP 與 POP3 協定是由 dovecot 這個伺服器所負責的,使用 rpm 指令可確認是否安裝該套件:
[root@localhost ~ ]# rpm -qa|grep dovecot dovecot-2.2.10-4.el7_0.1.x86_64
若未顯示該套件資訊時,可使用 yum 指令安裝:
[root@localhost ~ ]# yum -y install dovecot
☛ Dovecot 相關設定
Dovecot 伺服器的設定檔為 /etc/dovecot/dovecot.conf,其預設值為啟動 POP3 ( 埠號 110 ) 與 IMAP ( 埠號 143 ),除了這兩種收信協定外,亦包括了 POP3s ( 埠號 995 ) 與 IMAPs ( 埠號 993 ) 這兩個對應且加密的協定服務。 若想關閉任何協定,可修改 dovecot.conf 設定檔中的 protocols 設定值,如下:
# Protocols we want to be serving. #protocols = imap pop3 lmtp protocols = imap pop3
接著在 /etc/dovecot/conf.d/10-mail.conf 檔案中,修改 mail_location 的設定值,如下:
# See doc/wiki/Variables.txt for full list. Some examples: # # mail_location = maildir:~/Maildir # mail_location = mbox:~/mail:INBOX=/var/mail/%u # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n # # <doc/wiki/MailLocation.txt> # #mail_location = mail_location = mbox:~/mail:INBOX=/var/mail/%u
當使用者使用 Outlook 等收信軟體收取郵件時,則需再修改 /etc/dovecot/conf.d/10-auth.conf 及 /etc/dovecot/conf.d/10-ssl.conf 這兩個設定檔的設定值。 10-auth.conf 的設定修改如下:
## ## Authentication processes ## # Disable LOGIN command and all other plaintext authentications unless # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP # matches the local IP (ie. you're connecting from the same computer), the # connection is considered secure and plaintext authentication is allowed. # See also ssl=required setting. #disable_plaintext_auth = yes disable_plaintext_auth = no
接著修改 10-ssl.conf 設定檔的設定值,修改如下:
## ## SSL settings ## # SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt> # disable plain pop3 and imap, allowed are only pop3+TLS, pop3s, imap+TLS and imaps # plain imap and pop3 are still allowed for local connections #ssl = required ssl = no
儲存上述設定檔後,再啟動 Dovecot 伺服器及開機自動啟動伺服器:
[root@localhost ~ ]# systemctl start dovecot [root@localhost ~ ]# systemctl enable dovecot
最後,為了避免權限問題,請將 /var/mail/ 下的所有檔案權限設為 600,指令如下:
[root@localhost ~ ]# chmod 600 /var/mail/*
☛ 測試
由於 POP3 與 IMAP 在登入收信時,是以明碼方式傳送帳號與密碼,安全性較低。 若重視安全性考慮時,則應採用加密協定,如 POP3s 或 IMAPs。
POP3 協定測試如下:
以 telnet 指令連線至本機埠號 110,並輸入 user 指令指定帳號 jack 與 pass 指令,測試結束時可按下 Ctrl+] 再輸入 quit,結束 telnet 連線:
[root@localhost ~ ]# telnet localhost 110 Trying ::1... Connected to localhost. Escape character is ']'. +OK Dovecot ready. user jack +OK pass abc123 +OK logged in. ^]quit
IMAP 協定測試如下:
以 telnet 指令連線至本機埠號 143,並輸入 a login jack abc123 指定帳號與密碼,測試結束時可按下 Ctrl+] 再輸入 quit,結束 telnet 連線:
[root@localhost ~ ]# telnet localhost 143 Trying 127.0.0.1... Connected to localhost. Escape character is ']'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN] Dovecot ready. a login jack abc123 a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THRED=REFS MULTIAPPEDN UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] logged in