Sendmail 遷移:將所有收到的郵件複製到另一個郵件伺服器
我正在將執行 sendmail 的郵件伺服器遷移
8.14.3
到 postfix 伺服器。新MDA
伺服器上的Dovecot
. 為了確保無縫轉換,最好將傳入的郵件同時傳遞到兩個伺服器。我聽說過 sendmail 中的
SMART_HOST
andnullcient
選項,但我不確定這是否按我需要的方式工作。我需要的是所有傳入的郵件也傳遞到新伺服器,而現有配置保持不變,因為它們也應該傳遞到舊伺服器上的郵箱。郵件被發送到類似的地址,
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>=1000 && $3<65000 {printf "%s: %s, %s@mx2.mydomain.com\n", $1, $1, $1}' ) >/etc/aliases newaliases