![配布リストを使用する際にヘッダー構文エラーが認識されたため、さまざまな Linux ベースのシステムから電子メールが拒否される](https://rvso.com/image/231069/%E9%85%8D%E5%B8%83%E3%83%AA%E3%82%B9%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AB%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E6%A7%8B%E6%96%87%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E8%AA%8D%E8%AD%98%E3%81%95%E3%82%8C%E3%81%9F%E3%81%9F%E3%82%81%E3%80%81%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%20Linux%20%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%8B%E3%82%89%E9%9B%BB%E5%AD%90%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%8C%E6%8B%92%E5%90%A6%E3%81%95%E3%82%8C%E3%82%8B.png)
何が足りないのでしょうか...
条件: 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];
したがって、受信側のシステムに問題があります。(または、ヘッダーを積極的に書き換える中間システム。電子メールをファイアウォール アプライアンス経由で送信する場合、またはクライアントがファイアウォール アプライアンス経由で受信する場合は、その点を確認します。)