POP3 サーバーからメールを取得していますが、通常のメールと DSN (Delivery Status Notification) / NDR (Non-Delivery Report/Receipt) メッセージを区別したいと考えています。
これらのメッセージを識別するための最善/最も安全な方法は何ですか? 探している特定のメッセージ ヘッダーはありますか?
前もって感謝します!
一部のメール サーバーはRFC 3464を実装しています。これを行うものは、通常、メッセージ ヘッダー Content-Type が multipart/report で、3 つのコンポーネント パーツ (text/plain、message/delivery-status、および message/rfc822) を持つ配信ステータス通知を生成します。したがって、メッセージのこれらの特性を検出し、それに応じて処理できます。メッセージは通常、次のようになります。
From: 「メール配信システム」 <MAILER-DAEMON@example.com>
件名: 配信ステータス通知 (失敗) Content-Type: multipart/report; report-type=配送状況Content-Type: text/plain 人間が読める形式の配信ステータス通知の説明。
Content-Type: message/delivery-status 構造化された機械可読の配信ステータス通知の理由。
Content-Type: message/rfc822 元のメッセージ。
構造化されていない形式で配信ステータス通知を生成するメール サーバーの場合、From: および Subject: メッセージ ヘッダーのテキストを分析して通知を検出する必要があります。