POSTFIX 如何为特定域使用中继服务器?

POSTFIX 如何为特定域使用中继服务器?

我有两个电子邮件服务器:mx1.example.com(IMAP,SMTP)和mx2.example.com(SMTP 网关)。

  • mx1.example.com负责example.comexample.net和 的电子邮件example.org
  • mx2.example.com配置为网关mx1.example.com
    (我希望他发送所有来自的邮件 mx1.example.com

现在我想发送电子邮件

  • 通常来自example.comexample.net通过mx1.example.com
  • example.orgvia mx1.example.com(密码验证)到网关 mx2.example.com(IP)。

我该如何配置它?

更新:请大家快点行动,赏金将在两天后到期。

更清楚一点:我知道如何通过 mx2 进行中继mx2.example.com(如何通过 mx2 发送所有内容)。我只需将 mx2 的 IP 放在 mx1 中的 main.cf 中的中继主机中即可。但我想有选择地进行此操作,仅针对 example.org。

答案1

您不能使用传输,因为它用于将电子邮件传输到邮箱,您需要使用

sender_dependent_relayhost_maps

它在你的主配置文件

relayhost = mx1.example.org, mx2.example.org 
relay_domains = example.com, example.org, example.net

smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/relaymap

/etc/postfix/中继映射看起来像这样:

@example.com    mx1.example.com
@example.net    mx1.example.com

@example.org    mx2.example.com

答案2

通过使用选择性中继功能:

在 mx1.example.com 上:

  • 添加一行 :example.org smtp:mx2.example.com/etc/postfix/transport

  • 添加一行 :transport_maps = hash:/etc/postfix/transport/etc/postfix/main.cf

  • 跑步postmap /etc/postfix/transport
  • 跑步postfix reload

在 mx2.example.com 上:

  • 添加mx1.example.com到我的网络/etc/postfix/main.cf
  • 确保你有类似的东西:

    smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination/etc/postfix/main.cf 它失踪了

  • 跑步postfix reload

Postfix 将邮件转发到特定域的其他 SMTP

http://www.postfix.org/STANDARD_CONFIGURATION_README.html

http://www.postfix.org/SMTPD_ACCESS_README.html#lists

https://xdeb.org/post/2017/12/20/mail-relay-mx-backup-and-spam-filtering-with-postfix/

https://www.howtoforge.com/community/threads/postfix-relay-one-domain-to-smarthost-a-all-else-to-smarthost-b.62955/

http://verchick.com/mecham/public_html/spam/relay_recipients.html

答案3

检查,此设置必须是:

mydestination =
relayhost =

相关内容