Email

自動回復發送到郵件列表的消息

  • April 23, 2015

背景和現狀

我繼承了一個執行 Mailman 2.1.9 的 CentOS 5.7 機器,其中包含一系列遺留郵件列表。我一直致力於將這些列表移動到其他服務,例如 Exchange 郵件列表,並且只是將目前郵箱中的郵件列表別名為新的 Exchange 列表,這是讓使用者使用新列表的一個很好的短期修復。

我最終希望逐步淘汰此框並將其從生產中刪除,但至少在幾個月內我想自動回复(但不轉發)發送到舊列表的消息,並讓客戶知道該列表是將被逐步淘汰並最好通知他們新的列表地址。

問題

將消息發送到training@subdomain.domain.tld目前別名的位置/etc/aliasestraining: "|/usr/lib/mailman/mail/mailman post training"用消息回復發件人的最佳方式是什麼?我在很多地方讀到 procmail 或假期包是最好的選擇,但我似乎找不到任何指導,說明如何將這些解決方案適應大量別名,而別名後面沒有實際使用者.

一個警告是列表不會一對一地轉換(即training@subdomain.domain.tld不會成為training@domain.tld),因此我不能簡單地進行全面重定向或簡單地更新 MX 記錄以指向一組新的郵件伺服器。

環境細節

以下是有關目前框和已安裝軟體包的一些詳細資訊:

  • CentOS 5.7
  • 郵遞員 2.1.9
  • Procmail 3.22
  • 發送郵件 8.13.8
  • 後綴 2.3.3

你的問題在細節上是模糊的,我有一種不好的感覺,你讓整個事情變得比它需要的更複雜(你真的需要重命名郵件列表嗎?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 procmailex——因為它是由簡單的部分組成的,如果您無法開始vacation工作,可能更容易適應您的情況在這種情況下合理。

…或者查看http://www.brandonchecketts.com/archives/vacation-autoreply-message-with-virtual-users-and-postfix之類的東西作為正常vacation程序的一站式替代品。如果您的最終目標只是盡快關閉一切,您可能需要考慮將 Sendmail 替換為 Postfix,以便在過渡期間擁有一個更簡單、更安全的系統,然後連結後面的虛擬假期響應程序說明應該很容易即插即用。(另請參閱https://benjaminjchapman.wordpress.com/2012/07/31/creating-a-vacation-message-in-centos/以獲得一種中間立場。)

引用自:https://unix.stackexchange.com/questions/198061