用于对邮件进行排队的备份 MX 服务器

用于对邮件进行排队的备份 MX 服务器

简而言之:我需要设置备份 MX 服务器,它将对收到的消息进行排队,以便稍后通过原始 MX 进行传送,并且它必须只接受将列在以下邮箱中的邮箱的消息:$某个文件

细节:主邮件服务器上的邮件系统 - 假设其mx.example.com- 设置如下:

  • LDAP 用于身份验证和存储邮件
  • Postfix 作为 MTA
  • dovecot、amavisd-new 和 milter-greylist。

所以想法$某个文件是:

  • 解析 LDAP 数据库以获取域列表和邮箱列表,并输出$某个文件

如何应该根据一些人的说法可以这样做:

  1. 当主要mx.example.com由于某种原因不可用,备份 MX 备份.example.com开始接受要投递的邮件(MX 记录优先级很有用)并将其放入队列,但仅适用于列出的域/邮箱$某个文件
  2. mx.example.com 恢复上线后,在 backup.example.com 上形成的队列将转移到原 MX 进行处理。

因此,我开始挠头并开始在谷歌上搜索如何做到这一点,但到目前为止还没有运气。

问题我很想得到答案或者至少得到一些提示(也许是一些文章的链接?):

  • 是否有可能执行这样的备份 MX 设置?
  • 哪些 MTA 可以执行我所描述的操作:postfix、sendmail、exim?
  • 如果是,怎么办?

我知道,在备份 MX 上,我至少需要设置与主 MX 相同的灰名单,以防止垃圾邮件。

我们有一个不同的、更容易实现的备份 MX 设置,其中这种中继是使用 sendmail 和 sendmail.cf 中的选项完成的:

# Hosts for which relaying is permitted ($=R) 
FR-o /etc/mail/relay-domains %[^\#]

其中,relay-domains 包含允许将邮件转发到主 MX 的域列表。但我很好奇您是否可以提供答案和一些帮助。提前谢谢您。

答案1

除了作为主 mx 之外,Postfix 还可以用作备份 mx。它有文档说明如何设置备份 mx将 Postfix 配置为远程站点的主 MX 主机或备份 MX 主机

基本上,您有两个文件,内容分别为 (1) 有效域列表(例如主 mx 的域)和 (2) 有效用户列表(例如主 mx 处理的电子邮件地址)。例如,我们将文件 (1) 保存在 中/etc/postfix/validdomain,将文件 (2) 保存在 中/etc/postfix/validuser。不要忘记这postmap两个文件。

在备份 MX 的 main.cf 中,添加/编辑以下条目

relay_domains = hash:/etc/postfix/validdomain
relay_recipient_maps = hash:/etc/postfix/validuser

文件validdomain用于验证可以接受哪个域。文件validuser用于验证可以接受哪个用户。如果 postfix 只是使用validdomain而不使用validuser,您的备份 MX 将接受不存在的用户并成为背向散射源

答案2

使用 postfix,您可以在 postfix main.cf 中执行以下操作:

1: go to your MX backup server and add permit_mx_backup to your smtpd_recipient_restrictions
2: always in your MX backup server 
relay_domains = $mydestination domain1.com domain2.net domain3.org

如果你想使用文件来指定你可以做的域

touch /etc/postfix/domains
echo "domain1.com" > /etc/postfix/domains
echo "domain2.com" >> /etc/postfix/domains
echo "domain3.org" >> /etc/postfix/domains
postmap /etc/postfix/domains

并修改了之前的指令如下:

relay_domains = $mydestination, hash:/etc/postfix/domains

此后,您可以重新加载 postfix 服务,并记住在互联网上放置 mx 备份服务器,您需要确保您没有创建开放中继

相关内容