如何根据电子邮件地址转发到特定的 MTA?

如何根据电子邮件地址转发到特定的 MTA?

如何根据收件人电子邮件地址的用户名部分将收到的邮件转发到特定的 MTA?我更喜欢基于 Linux 的软件,但 Windows 也可以。

背景:
我们的组织正在从 ISP 托管的 POP3 邮件过渡到 Microsoft Business Productivity Online Services (Exchange Online),如果能够实现共存,那么一些用户可以使用新系统,而其他用户则继续使用旧系统,那就太好了。当每个用户迁移到新系统时,他们的邮件可以重定向到适当的服务器,而不受其他用户和 DNS 传播的影响。

这个系统能行得通吗?还有其他更适合这种情况的迁移方案吗?

编辑1
我们当前的 ISP 正在运行 Postfix 和 Dovecot。它们为我们提供了设置电子邮件转发的功能,但只能转发到选定的电子邮件地址。这对我们没什么帮助,因为他们的服务器仍将使用 MX 记录进行传送,而这正是我想要绕过的。

答案1

Postfix 提供使用传输表根据收件人用户名转发到不同服务器的功能。这些表可以存储为文本文件或存储在数据库中。例如:

[email protected] smtp:legacymail.example.com:25  
[email protected] smtp:newmail.example.com:25

来源:http://www.postfix.org/transport.5.html

可以使用每个用户的传输表来实现平稳逐步的迁移。

  1. 设置 Postfix 服务器,将所有用户的邮件转发到现有的 ISP
  2. 更新 DNS,使 MX 记录指向 Postfix 服务器
  3. 等待 DNS 传播。
  4. 编辑传输表,以便将一些用户的邮件传送到新服务器
  5. 更新该批用户的计算机设置
  6. 重复步骤 4-5,直到所有用户都已迁移
  7. 更新 DNS,使 MX 记录指向新的邮件服务器
  8. 一旦流量停止,就关闭 Postfix 服务器

所有仍在使用旧版 POP3 系统的用户都可以保留他们的 SMTP 设置,只要该服务器正在为同一域中的用户执行 MX 查找即可。如果他们的外发服务器对该域具有权威性,则它将不起作用。Exchange Server 上的用户可能无法向旧版系统上的用户发送邮件,因为邮件将被传递到 Exchange Server 上的邮箱。

为了让系统管理员更加方便,Postfix 可以与 MySQL 数据库和 Web 应用程序集成,以便为批量用户切换邮件传递。

答案2

http://www.postfix.org/STANDARD_CONFIGURATION_README.html#some_local有一些建议。

如果您设置了内部 Postfix,则可以通过 transport_maps 将邮件发送到相应的主机。可以通过转发到新 Postfix 服务器上的域,然后将其适当地重定向到 Exchange,将邮件拉入 Exchange。

答案3

您正在寻找的是一种转发机制。您的 ISP 提供的 POP 系统很可能已经具备这种功能的基础,但这实际上取决于他们使用什么。如果他们能够设置邮件规则,或者使用 .forward(点转发)或类似的东西,您可以在新系统上设置您想要的邮箱。

或者,您可以将所有内容都转移到 Exchange Online 上,并使用 Outlook/Exchange 规则将邮件转发到旧的 ISP 地址。设置起来非常简单。最重要的是,当您移动 MX 记录时,您需要交换方法;停止在 POP 端转发并开始在 Exchange 端转发。

相关内容