Postfix - 通过端口 465 (smtps) 连接到 smtpd 时出现问题

Postfix - 通过端口 465 (smtps) 连接到 smtpd 时出现问题

我为 postfix 和 Dovecot 设置了 SSL 证书。我可以使用 TLS 连接从 Dovecot 读取邮件,但无法使用 smtps 发送任何邮件。我只能通过 smtp(端口 25)发送邮件。当我尝试通过 smtps 发送邮件时,它会连接到 postfix,但随后会一直挂起直到超时。这可能是什么原因造成的?

这些是我在 main.cf 文件中为 postfix 设置的 smtpd 设置:

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_tls_auth_only = yes
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_cert_file=/opt/ssl.crt
smtpd_tls_key_file=/opt/ssl.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache 

答案1

您需要取消注释 /etc/postfix/master.cf 中的 smtps 行

您当前得到的结果如下所示。尝试取消注释前两行并重新启动 Postfix。您应该看到 Postfix 现在正在监听端口 465。您可能还需要在防火墙上打开该端口。

#smtps     inet  n       -       n       -       -       smtpd
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

答案2

如果 SSL 证书出现问题,我也见过类似的行为。请仔细检查 Postfix 设置是否正确适用于 SSL 证书。

编辑:首先:Postfix 是否有权访问 /opt/ssl.* 文件?

您可以尝试注释掉这些行,然后重新启动 Postfix。

tls_random_source = dev:/dev/urandom
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache 

相关内容