每个域的 Postfix SMTP 身份验证

每个域的 Postfix SMTP 身份验证

是否可以在 Postfix 上为不同的域配置不同的用户/密码凭据的 SMTP 身份验证?

因此,我有一个 MTA,可中继来自大约 20 个不同域的电子邮件。当向特定域(例如 example.com)发送电子邮件时,我的 MTA 必须进行身份验证。没问题,这解决了问题: http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html

但是,我为每个发件人域设置了不同的帐户。因此,当 mydomain1.com 向 example.com 发送电子邮件时,它使用一个帐户。mydomain2.com -> example.com 则使用另一个帐户,等等。

这可以通过 Postfix 实现吗?

答案1

您应该阅读一些有关此选项的内容:smtp_sender_dependent_authentication,有了它,以及其他两个相关的 DB 映射,,sender_dependent_relayhost_mapssmtp_sasl_password_maps,您可以创建每个发件人的密码条目。

sender_dependent_relayhost映射中,您映射username@domain [smtp_host],而在中smtp_sasl_password maps,您映射email user:passworddomain user:password(无论它们是什么)。这些是经典的后缀查找表,它们可以位于 mysql、dbm、hash 等中。

通过结合 mysql 和一些重复,您完全可以做您想做的事情。

您可以制作一个包含 4 个字段的表email,,,,,,然后让 postfix 查找电子邮件和 smtp_relay ,然后查找。这将必须填充每个必须中继的电子邮件地址、您通过中继的每个服务器以及用于身份验证的每个用户:密码组合。smtp_relayuserpasswordsender_dependent_relay_mapsemail user:passwordsmtp_sasl_password_maps

相关内容