如何转发和自动回复传入的电子邮件?

我们公司刚刚转换到一个新的电子邮件域名,并希望保持旧域名一年,因为他们通知所有人有关的变化。 旧的电子邮件域位于Exchange 2007上,新的电子邮件域位于Google Apps上。 Google Apps上的每个人都是100%,Exchange服务器只是转发电子邮件。

我想用基于Postfix或其他电子邮件服务器的轻量级的东西replaceExchange服务器(它动力不足,浪费资源只是转发电子邮件)。 它需要做到以下几点:

  1. 将发送到old_domain.com的电子邮件转发到new_domain.com
  2. 自动回复发件人,每个人的电子邮件已经更改为new_domain.com

这是可能的Postfix,有没有人有文件如何做到这一点? 我知道Linux足够危险,所以我想确定之前,我build议这一点。

我希望你想在旧域名上伪造一个反弹信息。 我使用Exim,他们是一个控制来做到这一点。

您还需要一个明确的退回邮件,指出电子邮件已被接收,但将来的邮件应发送到新的地址。

Exim还允许在别名文件中定制退回消息。 这可以用来指定新的地址。

后缀或交换可能具有类似的function。

编辑:Exim文档是相当不错的。 有关您的问题的详细信息,请参阅规范第40章(访问控制列表)和第11章(string扩展)。

您可以尝试在收件人ACL中的条目如下所示:

warn domains = old.example.com control == fakereject/User ${local_part}@old.example.com has moved \ ${local_part}@new.example.net\n\ Your message has been forwarded to their new address. 

redirect到新服务器可以通过单独的别名,redirect路由器(请参阅第22章第3节)或重写规则(请参阅第31章地址重引用)完成,例如:

 *@old.example.com [email protected] T 

我会用Postfix和Cyrus-Imapd来做到这一点。 Postfix只会将所有内容转发到cyrus-imapd,然后您可以使用Sieve Filter来:

  1. 将电子邮件转发给新的收件人
  2. 向发件人发送通知

从我的头顶来看,我认为你可以这样做:

 if header :contains "to" "user@old_domain.com" { redirect "user@new_domain.com"; reject "old_domain.com is not used anymore, please send your emails to new_domain.com"; } 

难点在于为每个用户定义了Sieve规则,因此您需要为每个用户创build一组规则。 但是你可以很容易地编写脚本。

关于Sieve在Cyrus-Imapd的更多信息可以在这里find: http ://wiki.linuxwall.info/doku.php/en:ressources:astuces:sieve

我不确定这是否可以使用Google Apps,但使用“普通”邮件服务器的做法是让它处理旧域的邮件,将旧域的MX指向新服务器,然后相应地configurationMTA。

你可以使用procmail和postfix。

Postfix可以很容易地做到这一点(我们在7年前在后缀中做了这样的事情,所以我不再能够访问我们写的非常简单的filter)。

我build议使用自动回复(请参阅http://www.postfix.org/addon.html几个示例)来生成自动回复,以便避免自动回复生成器中的所有缺陷。

然后,为自动转发器提供一个简单的filter(请参阅http://www.postfix.org/SMTPD_PROXY_README.html了解如何实现队列前filter来更改目标)。