背景及现状

背景及现状

背景及现状

我继承了一台运行 Mailman 2.1.9 的 CentOS 5.7 机器,其中包含一系列旧邮件列表。我一直致力于将这些列表移动到其他服务,例如 Exchange 邮件列表,并且只是将当前邮递员信箱上的邮件列表别名到新的 Exchange 列表,这是让用户使用新列表的一个很好的短期修复。

我最终想逐步淘汰这个盒子并将其从生产中删除,但至少在几个月内我想自动回复(但不转发)发送到旧列表的消息,并让客户知道该列表是将被逐步淘汰,并最好告知他们新的列表地址。

问题

[email protected]将消息发送到当前别名所在的位置/etc/aliasestraining: "|/usr/lib/mailman/mail/mailman post training"用消息回复发件人的最佳方法是什么?我在很多地方都读到过,procmail 或度假套餐是最好的选择,但我似乎找不到任何关于如何使这些解决方案适应大量别名的指导,而别名背后没有实际用户。

需要注意的是,列表不会一对一转换(即[email protected]不会变成[email protected]),因此我不能简单地进行全面重定向或简单地更新 MX 记录以指向一组新的邮件服务器。

环境详情

以下是有关当前盒子和已安装软件包的一些详细信息:

  • CentOS 5.7
  • 邮差2.1.9
  • 程序邮件 3.22
  • 发送邮件8.13.8
  • 后缀 2.3.3

答案1

你的问题在细节上很模糊,我有一种不好的预感,你让整个事情变得比它需要的更复杂(你真的需要重命名邮件列表吗?Exchange 的什么特性使它不会变得更糟?)但要尝试回答您的具体问题,您应该能够向运行响应程序的别名添加第二个目的地,然后将消息传递给 Mailman,或转发到新的列表地址,或其他任何内容。 (当然,如果您只是想发送回复,则不再需要原始目的地;但值得指出的是,这是一种可能性。)

training: "|/usr/local/bin/autoreply training", "|/usr/lib/mailman/mail/mailman post training"

哪里/usr/local/bin/autoreply可能看起来像

#!/bin/sh
######## WARNING: not properly investigated
vacation -a "$1" -m /etc/vacation.msg -f /etc/vacation -e /etc/vacation

我还没有研究使用这些选项运行是否可能或明智vacation,并且它还取决于您以哪个用户身份运行此操作(sendmail?)。您需要进行一些设置,以便运行此脚本的用户可以对程序尝试使用的资源进行写访问;甚至可能为此目的创建一个单独的用户。作为起点,如果您可以vacation -I以 root 身份运行上述选项,然后将其创建的文件的所有者更改为您想要用于此目的的用户,那么您应该已准备就绪。

显然,如果您想使用 Procmail 而不是vacation,您几乎可以从man procmailexvacation-- 因为它是由简单的部分组成,所以如果您无法在这种环境下合理地工作,可能会更容易适应您的情况。

...或者调查类似的事情http://www.brandonchecketts.com/archives/vacation-autoreply-message-with-virtual-users-and-postfix作为常规程序的一站式替代vacation。如果您的最终目标只是尽快关闭,您可能需要考虑用 Postfix 替换 Sendmail,这样您在过渡期间就有一个更简单、更安全的系统,然后链接后面的虚拟假期响应器说明应该很容易理解即插即用。 (也可以看看https://benjaminjchapman.wordpress.com/2012/07/31/creating-a-vacation-message-in-centos/以获得某种中间立场。)

相关内容