在 Postfix & Dovecot 郵件伺服器無法接收郵件時對 master.cf 的重要理解

4 min

language: ja bn en es hi pt ru zh-cn zh-tw

你好,我是無能。

從 8/20 自己架設郵件伺服器後,雖然在 TLS/SSL 認證後可以發送,但無法接收了。
因為沒有任何錯誤日誌,我感到束手無策,但現在已經解決了。

關於 master.cf,我想基本設定如下。

環境
・FreeBSD
・Postfix
・Dovecot
・SSL DKIM DMARC 等已設定


#smtpd     pass  - - n       - - smtpd
#dnsblog   unix  - - n       - 0       dnsblog
#tlsproxy  unix  - - n       - 0       tlsproxy
# Choose one: enable submission for loopback clients only, or for any client.
#127.0.0.1:submission inet n - n       - - smtpd
submission inet n       - n       - - smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       - n       - - smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
〜

說到哪裡出了問題,我是這樣設定的。

smtp      inet  n       - n       - - smtpd
#smtp      inet  n       - n       - 1       postscreen
#smtpd     pass  - - n       - - smtpd
#dnsblog   unix  - - n       - 0       dnsblog
#tlsproxy  unix  - - n       - 0       tlsproxy
# Choose one: enable submission for loopback clients only, or for any client.
#127.0.0.1:submission inet n - n       - - smtpd
submission inet n       - n       - - smtpd
smtps     inet  n       - n       - - smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_tls_auth_only=yes

我以為這些 -o 的設定只要寫在下方,就會適用於所有項目。

話說回來,我甚至沒有寫 smtps inet~...。

因此,當通過 TLS/SSL 認證時,為了在作為提交埠的接收端使用 995, 993 進行通訊,必須在 smtps inet ~ 的下方也確實添加 -o 參數。

因為需要在各自的環境中進行,所以也應該各自仔細檢查參數。

Aliases 也...。

在預設設定的位置,/etc/aliases 是符號連結,原始檔案位於 /etc/mail/aliases。

為了能夠識別郵件,
我添加了 root : xxxxxx@eyes4you.org

更新後務必執行 newaliases。

這樣就能夠完全執行了。

擁有自己的網域郵件真是太棒了。

那麼,下次再見。

Related Posts