我正在尝试让 postfix 不在端口 25 上对用户进行身份验证,而只在 587 上对用户进行身份验证,并使用 STARTTLS。我尝试过许多不同的配置,但到目前为止都没有成功。
主文件:
... smtpd_sasl_auth_enable =是 smtpd_sasl_authenticated_header = 是 smtpd_sasl_local_domain = $myhostname smtpd_sasl_security_options = noanonymous smtpd_sasl_type=dovecot broken_sasl_auth_clients = 是 smtpd_sasl_path = private/auth allow_mail_to_commands = 别名 allow_mail_to_files = 别名 smtpd_data_restrictions = rejection_unauth_pipelining smtpd_helo_required = 是 smtpd_sender_restrictions = permit_sasl_authenticated smtpd_recipient_restrictions= 拒绝非 FQDN 发送者, 拒绝非fqdn_helo_主机名, 拒绝未知收件人域名, 拒绝非 FQDN 收件人, 拒绝无效主机名, 允许通过 SASL 进行身份验证, 拒绝未授权目的地 smtpd_use_tls = 是 smtp_use_tls = 是 #smtpd_tls_security_level = 可能 #smtp_tls_security_level = 加密 smtpd_tls_auth_only = 是 smtpd_tls_mandatory_protocols = !SSLv3, !SSLv2 smtp_tls_note_starttls_offer = 是 smtpd_tls_key_file = /etc/ssl/postfix/smtpd.pem smtpd_tls_cert_file = /etc/ssl/postfix/smtpd.pem smtpd_tls_CAfile = /etc/ssl/postfix/smtpd.pem smtpd_tls_session_cache_timeout = 3600s smtpd_tls_loglevel = 1 smtpd_tls_received_header = 是 tls_random_source = dev:/dev/urandom ...
掌握:
# 服务类型 private unpriv chroot wakeup maxproc 命令 + 参数 # (是) (是) (是) (从不) (100) # ========================================================================== smtp inet n-n--smtpd # -o smtp_sasl_auth_enable=是 提交 inet n - n - - smtpd # -o content_filter=垃圾邮件过滤器 -o smtpd_tls_security_level =加密 # 用户 = spamd argv = / usr / local / bin / spamc -f -e / usr / local / libexec / dovecot / deliver -f $ {发送者} -d $ {收件人} # -o smtpd_enforce_tls=yes # -o syslog_name=postfix/submission -o smtpd_sasl_auth_enable=是 # -o smtpd_reject_unlisted_recipient=否 # -o smtpd_client_restrictions=$mua_client_restrictions -o smtpd_client_restrictions=permit_sasl_authenticated,拒绝 # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions=permit_sasl_authenticated,拒绝 # -o smtpd_relay_restrictions=permit_sasl_authenticated,拒绝 # -o milter_macro_daemon_name=起始 #smtps inet n - n - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_security_level =加密 # -o smtpd_tls_wrappermode=是 # -o smtpd_sasl_auth_enable=是 # -o smtpd_client_restrictions=permit_sasl_authenticated,拒绝 # -o smtpd_reject_unlisted_recipient=否 # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,拒绝 # -o milter_macro_daemon_name=起始 #628 inet n-n--qmqpd 拾音器 unix n - n 60 1 拾音器 ...
也许,我错过了什么。谢谢
答案1
将其添加到您的master.cf
:
submission inet n - - - - smtpd
-o smtpd_sasl_auth_enable=yes
...
smtpd_sasl_auth_enable = yes
并从您的main.cf
默认设置中删除no
。
答案2
请在 master.conf 上进行以下更改。注释以下行。smtp inet n - n - - smtpd
添加以下行 587 inet n - n - - smtpd
netstat -tulpan | grep -i master tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN 7168/master
答案3
在 /etc/postfix/main.cf 中您将添加/更改
smtpd_tls_security_level = encrypt
这将强制使用 TLS,以便 Postfix SMTP 服务器宣布 STARTTLS 并且不接受没有 TLS 加密的邮件
然后,在您的 /etc/postfix/master.cf 中,您将通过覆盖参数来覆盖端口 587(提交端口):
submission inet n - n - - smtpd
-o smtpd_tls_security_level=encrypt
这要求所有提交(端口 587)连接都使用 TLS。