架設安裝 postfix 與 dovecot

安裝必要套件

  • postfix – postfix 伺服器的主要套件,提供電子郵件的傳送功能。
  • dovecot – 負責 POP3、IMAP 等提供使用者取信的通訊協定伺服器。

安裝相關套件指令如下:

yum -y install postfix dovecot

設定防火牆

利用防火牆設定指令「firewall-cmd」加入允許 stmp、pop3 與 imap 服務,並使用「–permanent」寫入設定檔,使其永久有效,接著啟動 postfix 服務與設定開機自動啟動服務,操作指令如下:

firewall-cmd --permanent --add-service=smtp
firewall-cmd --permanent --add-port=110/tcp
firewall-cmd --permanent --add-port=143/tcp
firewall-cmd --reload
systemctl start postfix
systemctl enable postfix

設定 postfix

postfix 所有設定值位於 /etc/postfix/main.cf 檔案中。修改該檔案中的部份設定值:

#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = ms.x-family.com.tw
#mydomain = domain.tld
mydomain = x-family.com.tw
#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $myhostname
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
# Enable IPv4, and IPv6 if supported
inet_protocols = all
#mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#	mail.$mydomain, www.$mydomain, ftp.$mydomain
mydestination = $myhostname, localhost.$mydomain, localhost,ms.x-family.asia,ms.x-family.com.cn,ms.x-family.idv.tw
#mynetworks_style = host
mynetworks_style = subnet
#mynetworks_style = host
mynetworks_style = subnet

SMTP 帳號密碼認証

Cyrus-SASL 是一套專門的認證函式庫,可以提供 postfix 做為認證時呼叫其代為認證帳號密碼是否符合。在 CentOS 的套件名稱是「cyrus-sasl」,可以使用 yum 指令進行安裝,並利用 systemctl 進行服務啟動:

yum -y install cyrus-sasl
systemctl start saslauthd
systemctl enable saslauthd

最後,修改 postfix 設定檔 /etc/postfix/main.cf,在檔案的最尾端加入以下設定值:

smtpd_sasl_auth_enable=yes
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

修改 Dovecot 設定檔

Dovecot 伺服器的設定檔為 /etc/dovecot/dovecot.conf ,修改檔案中的設定內容如下:

# Protocols we want to be serving.
#protocols = imap pop3 lmtp
protocols = imap pop3
#listen = *, ::
listen = *

並在該設定檔的最尾端,加入一行設定值如下:

# A config file can also tried to be included without giving an error if
# it's not found:
!include_try local.conf

mail_location=mbox:~/mail:INBOX=/var/mail/%u

接著修改 /etc/dovecot/conf.d/10-auth.conf 的設定內容,如下所示:

#disable_plaintext_auth = yes
disable_plaintext_auth = no

最後,修改 /etc/dovecot/conf.d/10-ssl.conf 的設定內容,如下所示:

#ssl = required
ssl = no

儲存設定檔後,啟動 dovecot 服務及設定開機時自動啟動服務。此外,為了避免權限問題,將 /var/mail/ 底下檔案權限設為 600,指令如下:

systemctl start dovecot
systemctl enable dovecot
chmod 600 /var/mail/*

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *