将收到的邮件转发到两台服务器

将收到的邮件转发到两台服务器

我们有几个域,它们的 MX 记录指向位于网络边缘的运行 Qmail 的网关,该网关随后根据 smtproutes 将其转发到几个内部邮件服务器之一。

我的问题是,如果我想将发往特定域的每封电子邮件转发到两个单独的服务器,在 Qmail 中是否有简单的方法可以做到这一点?(我们希望在不同步 IMAP 帐户的情况下从一台机器迁移到另一台机器,因此我们希望邮件在两台机器上保留几周,以便用户可以在新服务器上收到最近的邮件)。

谢谢。

附言:如果这是重复的,我很抱歉,我以为我已经提交了,但现在找不到它(在我的历史记录中也找不到),所以我认为它一定没有通过。

答案1

您可能想看看这个:lifewithqmail.org/lwq.html#dot-forward
和这个:greens.org/about/software/qmail/man/man5/dot-qmail.html

QMAIL 文件 要更改 qmail-local 的行为,请在您的主目录中设置一个 .qmail 文件。

      .qmail contains one or more lines.  Each line is a delivery
      instruction.  qmail-local follows each instruction in turn.
      There are five types of delivery instructions:  (1) comment;
      (2) program; (3) forward; (4) mbox; (5) maildir.


      (3)  A forward line begins with an ampersand:

                &[email protected]

           qmail-local takes the rest of the line as a mail
           address; it uses qmail-queue to forward the message to
           that address.  The address must contain a fully
           qualified domain name; it must not contain extra
           spaces, angle brackets, or comments:

                # the following examples are WRONG
                &me@new
                &<[email protected]>
                & [email protected]
                &[email protected] (New Address)

           If the address begins with a letter or number, you may
           leave out the ampersand:

                [email protected]

           Note that qmail-local omits its new Return-Path line
           when forwarding messages.

希望这会有所帮助 - 我手边没有 qmail 服务器可以先测试这一点。

编辑:
您可能需要使用脚本为每个用户创建这些文件。

答案2

涉及多少用户?是否可以让他们向电子邮件客户端添加另一个帐户,以开始从新服务器提取邮件?如果配置正确,他们仍然可以访问旧邮件(如果两个帐户都使用 IMAP,甚至可以将其移动到新服务器)。

另外,为什么不愿意同步 IMAP 帐户?您是否要切换到其他 IMAP 服务器?过去,当我移动邮件时,我使用 rsync 将邮件复制到新服务器。一次 rsync 后,在旧服务器上停止 IMAP/SMTP,再执行一次 rsync 以获取第一次 rsync 期间所做的更改,然后在新服务器上启动 IMAP/SMTP。

更改配置文件,使邮件定向到新服务器而不是旧服务器。提前通知用户,并在半夜进行。如果您控制 DNS,则可以提前一周降低主机记录上的 TTL,这样当您实际进行更改时,DNS 更新将快速传播。

相关内容