システム管理者チームは、exim4ヘッダーファイル(-Hで終わる)のフィールドMessage-IDを編集し、「<」の後の最初の文字を置き換えます。
例えば:
077IメッセージID:<[email protected]>
->
077IメッセージID:<[email protected]>
メールをリリースするためのスクリプトを書きたいのですが。 Message-IDフィールドの "<"と "@"の間の部分を変更し、ハッシュ値を置き換えて、Message-IDが次のようになるようにしました。
077IメッセージID:<[email protected]>
現在、eximはログに「フォーマットエラー」と表示し、メールは解放されません。この1つのフィールドを除いて変更はありませんでした。
なぜそのようにIDを置き換えることができないのですか?まったく同じ長さである必要がありますか? exim4バージョン4.69-2ubuntu0.3です。
行頭の「077I」をご覧ください。 「I」はヘッダーフラグです。変更しないでください。ただし、「077」はそのヘッダーのバイト数です。カウントを変更せずに文字数を変更しているため、Eximはそれをフォーマットエラーと見なします。
から http://exim.org/exim-html-current/doc/html/spec_html/ch55.html :
ヘッダーはファイルの数行を占める場合があり、それを読み込む際の労力を節約するために、各ヘッダーの前には数字と識別文字が付いています。数値は、埋め込まれた改行と終了改行を含む、ヘッダー内の文字数です。
新しい文字数を反映するように数を更新すると、問題がないはずです。
あなたのシステム管理者チームがメッセージIDを操作しているとしたら、私は驚きます。
凍結された電子メールを解放するには、-M
オプションを指定してexim
を実行するだけです。これは、exim
コマンドで示されるように、mailq
メッセージIDのリストを取得します。ヘッダーファイル名から-H
を削除して、メッセージIDを取得することもできます。