Skip to content

Fix: Implement RFC 5322 Header Folding for MimeAddressHeader - #1885

Open
srvcti wants to merge 3 commits into
Zimbra:developfrom
srvcti:fix-rfc5322-header-folding
Open

Fix: Implement RFC 5322 Header Folding for MimeAddressHeader#1885
srvcti wants to merge 3 commits into
Zimbra:developfrom
srvcti:fix-rfc5322-header-folding

Conversation

@srvcti

@srvcti srvcti commented Aug 24, 2026

Copy link
Copy Markdown

This PR fixes a long-standing core bug (// FIXME: need to fold every 75 bytes) in \MimeAddressHeader.java\ where the MIME serialization engine failed to fold extremely long address lists (e.g. \To\ or \Cc\ headers with hundreds of recipients).

Previously, these addresses were concatenated into a single unbroken string. This strictly violated RFC 5322 Section 2.1.1, which mandates that email header lines MUST NOT exceed 998 characters and SHOULD be folded at 78 characters. This bug would cause emails to be hard-rejected (\500 Line too long) by strict upstream MTAs (such as Exchange or spam filters).

This patch natively implements compliant CRLF+Tab whitespace folding at the 76-byte boundary during serialization, ensuring maximum global mail routing compatibility.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


srvcti seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@srvcti
srvcti force-pushed the fix-rfc5322-header-folding branch from cf101c2 to 4d026b4 Compare August 24, 2026 20:07
@srvcti
srvcti force-pushed the fix-rfc5322-header-folding branch from 4d026b4 to 5460422 Compare August 24, 2026 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants