当社は新しいメールドメインに切り替えたばかりで、変更について全員に通知するため、古いドメインを1年間保持したいと考えています。古いメールドメインはExchange2007にあり、新しいメールドメインはGoogleAppsにあります。誰もがGoogleAppsを100%使用しており、Exchangeサーバーはメールを転送するだけです。
Exchangeサーバー(電力が不足していて、メールを転送するだけでリソースが浪費されている)を、Postfixまたは別のメールサーバーをベースにした軽量のものに置き換えたいと思います。次のことを行う必要があります。
これはPostfixで可能ですか、そして誰かがそれを行う方法についてのドキュメントを持っていますか?私は危険なLinuxを十分に知っているので、これを提案する前に確認したいと思います。
古いドメインでバウンスメッセージを偽造したいと思います。私はEximを使用しており、これを行うためのコントロールです。
また、電子メールの配信が受け入れられたことを示す明確なバウンスメッセージが必要になりますが、今後のメッセージは新しいアドレスに送信する必要があります。
Eximでは、エイリアスファイルでカスタムバウンスメッセージを使用することもできます。これは、新しいアドレスを指定するために使用できます。
接尾辞または交換には、同様の機能がある場合があります。
編集:Eximのドキュメントは非常に優れています。問題の詳細については、仕様の第40章(アクセス制御リスト)および第11章(文字列拡張)を参照してください。
次のような受信者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.
新しいサーバーへのリダイレクトは、個々のエイリアス、リダイレクトルーター(第22章のセクション3を参照)、または次のような書き換えルール(第31章のアドレスの再配線を参照)によって実行できます。
*@old.example.com [email protected] T
私はPostfixとCyrus-Imapdでそれを行います。 Postfixはすべてをcyrus-imapdに転送するだけで、SieveFilterを使用して次のことができます。
私の頭の上から、私はあなたがそのようにそれをすることができると思います:
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ルールがユーザーごとに定義されているため、ユーザーごとに一連のルールを作成する必要があることです。しかし、簡単にスクリプトを作成できます。
Cyrus-ImapdのSieveの詳細については、次を参照してください: http://wiki.linuxwall.info/doku.php/en:ressources:astuces:sieve
これがGoogleAppsで可能かどうかはわかりませんが、「通常の」メールサーバーで行うことは、古いドメインのメールも処理できるようにし、古いドメインのMXを新しいサーバーにポイントして次に、それに応じてMTAを設定します。
Procmailとpostfixを使用できます。