Postfix sasl 中继主机

Postfix sasl 中继主机

我正在尝试将 SASL 设置为中继主机以发送外部电子邮件。我已经阅读了大量资料并做了我应该做的一切。但是我们的提供商不接受我使用以下方式中继电子邮件(我们不在他们的网络上,但他们说只要我们使用 SASL 进行身份验证就可以):

主机 mailhost.zen.co.uk[212.23.3.98] 表示:550-这不是开放中继。要通过此服务器发送,您必须在 Zen Internet IP 地址上为 550 或通过 TLS 进行身份验证。(回复 MAIL FROM 命令)

我们同意我不发送用户名和密码,否则它会发送,或者说我的用户名密码不正确。

问题是,为什么 Postfix 不发送它:

以下是我认为相关的 main.conf 部分:

    smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname, reject_invalid_hostname, permit

    smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl, reject_rbl_client dnsbl.njabl.org

    smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unauth_destination, check_policy_service inet:127.0.0.1:60000, permit

    smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit

    relayhost = mailhost.zen.co.uk
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtpd_sasl_type = cyrus
    smtpd_sasl_authenticated_header = no
    broken_sasl_auth_clients = yes
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_local_domain =

当然,我已经在 sasl_passwd 中设置了密码并对其进行了后映射。以下是我一直在使用的一些资源:

如果有人有其他建议那就太好了:)

答案1

如果您希望 MTA 的 SMTP 连接通过mailhost.zen.co.ukSASL 认证,您需要参数smtp_sasl_*,而不是smtpd_sasl_*参数。后者适用于您是接收MTA,而前者适用于当您连接到另一个 MTA 时,正如您似乎想要在这里做的那样。

相关内容