设置 PostFix SMTP 中继主机时登录凭据去哪里?

设置 PostFix SMTP 中继主机时登录凭据去哪里?

我正在设置一个外部 postfix 中继主机和一个内部 postfix 服务器。我的想法是,我的内部 postfix 服务器将通过外部 smtpd 服务器发送电子邮件(两者都使用 postfix)。我之所以使用这种架构,是因为服务器#1 用于托管一个 webapp 和一个 postfix 实例,后者仅用于将消息转发到服务器#2(我的外部 postfix 中继主机)以发送它们。这样做是为了减轻从我的 webapp 服务器(服务器#1)发送事务性电子邮件的负担。

我的设置如下:

在我的外部的postfix 服务器,我已经更改了mynetworks=A.B.C.Dmain.cf 中的指令以允许从我的内部 postfix 服务器进行中继。

在我的内部的smtp.mydomain.com myusername:mypasswordpostfix 服务器我已经通过将指令添加到 /etc/postfix/saslpasswd 来设置 sasl 身份验证。

我的问题是我应该在中继主机上的哪里添加 sasl 身份验证凭据?

另外,(除了这两个指令之外)还有其他配置细节我应该添加到我的外部的postfix 中继主机使其转发来自我的内部 postfix 服务器的电子邮件?

任何帮助都将非常感谢,谢谢。

答案1

如果目标是仅将外部主机用作内部主机的中继,则将 IP 添加到 mynetworks 将绕过对 sasl 身份验证的需求。您正在强制应用程序对被授权通过外部主机发送的内部主机进行身份验证。我使用类似的设置。

我家里有一台 postfix/dovecot 服务器,云端有一台虚拟服务器。云端服务器不使用身份验证,只允许邮件(来自任何主机)进入我的域,但允许我的家庭 IP 和其他 vps IP 发送任何内容。

您需要确保permit_mynetworks包含在外部主机的所有 smtpd 限制中,如下所示

smtpd_client_restrictions = permit_mynetworks, reject_unauth_destination, reject_unknown_recipient_domain, reject_rbl_client zen.spamhaus.org, reject_rbl_client b.barracudacentral.org, reject_rbl_client hostkarma.junkemailfilter.com=127.0.0.2, permit
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipient_access, permit_mynetworks, permit_auth_destination, reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks

相关内容