Sendmail 迁移:将所有传入邮件复制到另一个邮件服务器

Sendmail 迁移:将所有传入邮件复制到另一个邮件服务器

我正在将运行 sendmail 的邮件服务器迁移8.14.3到 postfix 服务器。MDA新服务器上的是Dovecot.为了确保无缝过渡,最好将传入邮件同时传送到两台服务器。

我听说过sendmail 中的SMART_HOSTnullcient选项,但我不确定这是否按我需要的方式工作。我需要的是所有传入的邮件也传递到新服务器,保持现有配置不变,因为它们也应该传递到旧服务器上的邮箱。

邮件发送到类似的地址[email protected],并且应该投递到mx1.mydomain.com(旧)和mx2.mydomain.com(新)。因此mx1应将副本转发至mx2.

双 MX 记录是不够的,因为只有当另一台服务器无法访问时才会联系一台服务器 - 而两台服务器都应该接收邮件。

也许另一种选择是配置为通过?sendmail直接传送到Dovecot新服务器上。lmtp或者也许只是rsync两台服务器上的邮箱。但我不确定这是否兼容。

更新:它的格式不一样:在旧服务器上,每个邮箱只有普通的旧文件,而在每个用户的邮件目录中Dovecot创建一个cur,结构。new tmp然而,最终,具有相似格式的文件驻留在这些目录中。但分离字符串是不同的。也许可以定期翻译旧格式并将其复制到新服务器?这会以某种方式干扰吗Dovecot?我可以将副本放在新服务器上的哪里,以便Dovecot在识别它们的同时不会受到影响?

我希望有某种解决方法。


系统信息

邮箱数量:~100-200

旧服务器:

OS: Debian GNU/Linux 6.0
sendmail 8.14.3
mails are delivered to "real"/"passwd" users
Other Serives: apache2, mysql, other miscellaneous

新服务器:

OS: Debian GNU/Linux 9
postfix
dovecot
mails are delivered to virtual users/SQL
Other services: apache2, mysql, other miscellaneous

当前 MX 条目供参考:

mydomain.com.    IN      MX      0 mx1.mydomain.com.
mydomain.com.    IN      MX      1 mx2.mydomain.com.

答案1

我现在无法测试这一点,但我相当确定sendmail理解/etc/aliases表单中的条目

fred: fred, fred@otherserver

(如果它进入疯狂循环,请在第二个前面加上fred反斜杠\。)

/etc/passwd然后直接从文件中提取aliases。并记住运行newaliases(?)来更新内部sendmail数据库。

以下是生成要附加的行的示例片段。它仅考虑 UID 在 { 1000 ≤ uid < 65000 } 范围内的用户。

[ ! -f /etc/aliases.save ] && cp -p /etc/aliases /etc/aliases.save

(
    cat /etc/aliases.save
    echo
    getent passwd |
        awk -F: '$3>=1000 && $3<65000 {printf "%s: %s, %[email protected]\n", $1, $1, $1}'
) >/etc/aliases

newaliases

相关内容