Exim ACL の壊れた Message-ID フィールドを修正

Exim ACL の壊れた Message-ID フィールドを修正

不思議なことに、私のメール ドメインの外部送信者の中には、Message-ID フィールドが$Null次のように設定されたメッセージを送信していた人がいました。

    ...
    Date: Tue, 1 Dec 2020 07:16:22 +0000
    Message-ID: $Null
    Subject: Test
    ...

(これは会社で使用されている Exchange + Outlook の設定によるものと思われますが、詳しい情報は見つかりません)。

これは最近までちょっとした問題でした。Apple が iOS メール クライアントを更新し、iOS の最近のメール アプリがそのようなメッセージを分析しようとするとすべてのメッセージ リストが台無しになったからです。

私が実装しようとしている修正は簡単です。Exim に次のアクションを追加しようとしていますacl_check_data:

    warn
      condition               = ${if eq{$h_message-id:}{\$Null}}
      remove_header           = message-id : message_id : Message-ID : Message_ID

Message-ID ヘッダー行を参照するさまざまな方法を試しましたが、その条件でもtrue「ヘッダーの削除」アクションを実行しても Message-ID ヘッダー行は削除されません。

アドバイスをお願いします。Message-ID の壊れたヘッダー行を削除したり、(より良い方法として) 正しい値に置き換えたりするにはどうすればよいでしょうか?

答え1

申し訳ありませんが、私は Exim に詳しくありません。ただし、参考までに Exim のメッセージ ID に関するドキュメントを見つけましたので、役立つかどうか確認してください。メッセージ処理The Message-ID: header line

アカウント用に Exchange サーバーを展開しましたか? その場合は、条件に従ってメッセージ ヘッダーのメッセージ ID を変更するトランスポート ルールを作成できます。ここに画像の説明を入力してください

関連情報