Email

Sendmail 遷移:將所有收到的郵件複製到另一個郵件伺服器

  • December 17, 2018

我正在將執行 sendmail 的郵件伺服器遷移8.14.3到 postfix 伺服器。新MDA伺服器上的Dovecot. 為了確保無縫轉換,最好將傳入的郵件同時傳遞到兩個伺服器。

我聽說過 sendmail 中的SMART_HOSTandnullcient選項,但我不確定這是否按我需要的方式工作。我需要的是所有傳入的郵件也傳遞到新伺服器,而現有配置保持不變,因為它們也應該傳遞到舊伺服器上的郵箱。

郵件被發送到類似的地址,test@mydomain.com並且應該發送到mx1.mydomain.com(舊)和mx2.mydomain.com(新)。所以mx1應該轉發一份到mx2.

雙 MX 記錄是不夠的,因為只有在另一台伺服器無法訪問時才會聯繫一台伺服器 - 而兩者都應該接收郵件。

也許另一種選擇是配置sendmail為通過 ? 直接傳遞到Dovecot新伺服器上lmtp?或者可能只是rsync兩台伺服器上的郵箱。但我不確定這是否兼容。

**更新:**格式不同:在舊伺服器上,每個郵箱只有普通的舊文件,同時在每個使用者的郵件目錄中Dovecot創建一個cur,結構。new tmp但是,最終,具有類似格式的文件駐留在這些目錄中。操作字元串是不同的。也許可以翻譯舊格式並定期將其複製到新伺服器?這會以某種方式乾擾Dovecot嗎?我可以在哪裡將副本放在新伺服器上,這樣Dovecot在仍然辨識它們的同時不會受到影響?

我希望有某種解決方法。


系統資訊

郵箱數量:~100-200

舊伺服器:

OS: Debian GNU/Linux 6.0
sendmail 8.14.3
mails are delivered to "real"/"passwd" users
Other Serives: apache2, mysql, other miscellaneous

新伺服器:

OS: Debian GNU/Linux 9
postfix
dovecot
mails are delivered to virtual users/SQL
Other services: apache2, mysql, other miscellaneous

目前 MX 條目供參考:

mydomain.com.    IN      MX      0 mx1.mydomain.com.
mydomain.com.    IN      MX      1 mx2.mydomain.com.

我現在無法對此進行測試,但我相當肯定理解表格sendmail中的條目/etc/aliases

fred: fred, fred@otherserver

(如果它進入瘋狂循環,請在第二fred個前面加上反斜杠\。)

然後它是從文件中直接提取/etc/passwd的。aliases並且記得執行newaliases(?) 來更新內部sendmail數據庫。

這是一個範例片段,用於生成將附加的行。它只考慮 UID 在 { 1000 ≤ uid < 65000 } 範圍內的使用者。

[ ! -f /etc/aliases.save ] && cp -p /etc/aliases /etc/aliases.save

(
   cat /etc/aliases.save
   echo
   getent passwd |
       awk -F: '$3&gt;=1000 && $3&lt;65000 {printf "%s: %s, %s@mx2.mydomain.com\n", $1, $1, $1}'
) &gt;/etc/aliases

newaliases

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