![Exim ACL の壊れた Message-ID フィールドを修正](https://rvso.com/image/760607/Exim%20ACL%20%E3%81%AE%E5%A3%8A%E3%82%8C%E3%81%9F%20Message-ID%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%82%92%E4%BF%AE%E6%AD%A3.png)
不思議なことに、私のメール ドメインの外部送信者の中には、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 を変更するトランスポート ルールを作成できます。