在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
〜

问题出在哪里呢,我之前是这样设置的:

smtpd     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