配布リストを使用する際にヘッダー構文エラーが認識されたため、さまざまな Linux ベースのシステムから電子メールが拒否される

配布リストを使用する際にヘッダー構文エラーが認識されたため、さまざまな Linux ベースのシステムから電子メールが拒否される

何が足りないのでしょうか...

条件: Web メール コンポーネントを備えた Linux スタック ベースの電子メール サーバー システム (ホスト型)。様々な電子メール クライアントとその他の Web メール システムがこれに関連し、テストされています。

ウェブメール クライアントを使用して、配布リスト経由で電子メールを配布しています。メール システムは次の例のような電子メールを送信します (ソース メール ヘッダーからコピー)。organisation配布リストの名前はどこにありますか。

Date: Sat, 20 Apr 2024 18:35:45 +0200
Message-ID: <[email protected]>
From: [email protected]
To: organisation: [email protected], [email protected];
Subject: here goes the subject

これまでのところ順調で、電子メールは正常に配信され (GMX メールボックスにも)、「配信不能電子メール」メッセージは受信されません。

問題

次に、特定の電子メール クライアントまたは Web メール システム (GMX Web メールなど) から「全員」に返信すると、明らかに誤った形式のヘッダーが生成されます (ただし、Thunderbird などを使用すると正しい形式が生成されます)。これらの返信は特定のシステムによって拒否されます。メッセージの例:

電子メール ヘッダーに提供された情報が RFC 5322 および RFC 2047 の仕様に準拠していないため、電子メールはメール システムによって拒否されました。ヘッダー フィールド「To」の構文が正しくありません。

問題の電子メール ヘッダーは次のようになります (To: 行に特に注意してください)。

Received: from ...
Reply-To: ...
From: <[email protected]>
To: <[email protected]>, <organisation: [email protected]>;
References: <[email protected]>
In-Reply-To: <[email protected]>
Subject: AW: here goes the subject

明らかに、特定のメール クライアントは、指定された配布リストの名前を最初の宛先の電子メール アドレスの一部として解釈しています。

問題は、(1) 犯人は誰か? (2) 正しい形式は何か? (3) 元のメッセージを配信しているサーバーが特定の RFC に従っていないのか、それともメール クライアントまたはメール システムの障害なのか? です。

===== 最終編集 =====

これはどうやら Horde のバグのようです。チケットを発行しました。

答え1

(これはおそらく間違っているが、以下に有用な議論があるのでそのまま残しておく)

組織は配布リストの名前です:

元のメールを生成しているものが何であれ、ここで問題があります。メールボックス名(@domain の前のビット)には、スペース、@ 文字、その他さまざまな奇妙なものを含めることができます。そのため、転送は To: ヘッダーの最初のエントリを「組織:[メールアドレス]「」。

スペースを明示的に引用符で囲むかエスケープするかを判断するには、多くの資料を読む必要があります (メールボックス名の '@' 文字は必要です)。したがって、これが RFC に準拠していないというエラーが正確かどうかはわかりませんが、たとえ必要でなかったとしても、これは意図した動作ではないため、この点は議論の余地があります。

答え2

RFC 5322グループアドレスの現在の仕様です。付録A.1.3で説明されており、次のように書かれています。

From: Pete <[email protected]>
To: A Group:Ed Jones <[email protected]>,[email protected],John <[email protected]>;
[…]

このメッセージでは、To:フィールドには「グループこれには3つのアドレスが含まれています […]

アドレス仕様はセクション 3.4 で正式に定義されており、ここでは関連する部分のみを抜粋します。

3.4. アドレス指定

アドレスは、個々のメールボックス、またはメールボックスのグループのいずれかになります。

group           =   display-name ":" [group-list] ";" [CFWS]
group-list      =   mailbox-list / CFWS
mailbox-list    =   (mailbox *("," mailbox))
mailbox         =   name-addr / addr-spec
name-addr       =   [display-name] angle-addr
angle-addr      =   [CFWS] "<" addr-spec ">" [CFWS]

そして

3.4.1. アドレス仕様

addr-spec は、ローカルに解釈される文字列と、それに続くアットマーク文字 ("@"、ASCII 値 64)、そしてインターネット ドメインで構成される特定のインターネット識別子です。[…] addr-spec の "@" の周囲にはコメントや折り返しの空白を使用しないでください。

addr-spec       =   local-part "@" domain
local-part      =   dot-atom / quoted-string
domain          =   dot-atom / domain-literal

そして

3.2.3. アトム

dot-atom        =   [CFWS] dot-atom-text [CFWS]

obs-*RFC 5322 の正式仕様に存在するエントリは、廃止されたパターンを参照しているため、ここでは省略しました。CFWSコメントおよび/または折り返しの空白が許可されていることを示します。

したがって、これらの両方の形式は、 の定義によって受け入れられる必要がありますgroup-list

A Group:Ed Jones <[email protected]>,[email protected],John <[email protected]>;
A Bare Group:[email protected],[email protected],[email protected];

この解釈をあなた自身のグループ リストに適用すると、それは有効であると言えます。

To: organisation: [email protected], [email protected];

したがって、受信側のシステムに問題があります。(または、ヘッダーを積極的に書き換える中間システム。電子メールをファイアウォール アプライアンス経由で送信する場合、またはクライアントがファイアウォール アプライアンス経由で受信する場合は、その点を確認します。)

関連情報