1

いくつかのアプリケーションを、私が書いている新しいアプリケーションに統合しています。各アプリケーションには、電子メールを処理するための 1 つ (または複数) の電子メール アドレスがあります。私たちがやりたいことは、元の各電子メール アドレスを新しい一元化されたアドレスに転送し、元の送信先に基づいて異なる方法で電子メールを処理することです。

接続しているサーバーは Exchange 2003 で、IMAP (AE.Net.Email) を使用して電子メールを取得しています。

ヘッダーを調べて Received ヘッダーを探すことができるようですが、それが信頼できるかどうかはわかりません。一部のメール システムでは、これ専用のヘッダーが追加されていることは知っていますが、私たちのシステムではそうではないようです。

では、IMAP を介して確認できるもので、表示されていないものはありますか? ヘッダーが確実に追加されるようにするために Exchange でできることはありますか? または、電子メールを別のフォルダーに入れるには?GMail に似た username+keyword@host.com を行う方法はありますか?

4

1 に答える 1

2

一般に、電子メールがいつリダイレクト、エイリアス、転送、またはメールボックス間で移動されたかを知ることはできません。SMTP の世界では、電子メールを宛先に向けて転送するすべての操作は、SMTP エンベロープの受信者アドレスを変更または書き換えることとほぼ同等です。このような操作は、電子メール エイリアスから、メーリング リストを介した配信、ユーザー設定の転送ルールまで、さまざまです。一部の MTA は、この事実を非常に明確にするように設計されています。たとえば、Sendmail の構成ファイルの最も重要な部分は、電子メールのエンベロープ受信者がテキストを繰り返し書き換える方法を指定するパターン マッチングと置換に基づく一連のルールに他なりません。

そうは言っても、電子メールがシステムを通過する際に、プロセスの初期段階でエンベロープの受信者が何をしていたかの手がかりを提供するヘッダーに痕跡が残る可能性があります。しかし、ここには基準も保証もありません。

Receivedご存知のように、MTA は通常、便利な情報をヘッダーに入れますが、常に予測可能な形式であるとは限りません。一部のローカル配送エージェント (電子メールが実際のメールボックスに配送されるチェーンの最後のステップ) はDelivered-To、メールボックスに配置する前にヘッダーのようなものをメールに追加しますが、これは配送エージェントによって異なります。List-Idメーリング リストは、個々のサブスクライバーにメッセージを再送信する前に、メールが配信されたメーリング リストを示すようなヘッダーを追加します。

見る場所は一つではありません。あなたができる最善の方法は、特定のシナリオで常に同じものを見つけてそれを使用するか、何もない場合は、メッセージを転送するために使用しているスクリプト/関数を調整して、独自のパンくずリストを追加することですヘッダーに。

于 2012-12-03T16:24:09.197 に答える