diff --git a/api/src/main/java/jakarta/mail/internet/InternetAddress.java b/api/src/main/java/jakarta/mail/internet/InternetAddress.java index 257ef4c4..844095ea 100644 --- a/api/src/main/java/jakarta/mail/internet/InternetAddress.java +++ b/api/src/main/java/jakarta/mail/internet/InternetAddress.java @@ -885,6 +885,22 @@ private static InternetAddress[] parse(String s, boolean strict, case '"': inquote = !inquote; break; + case '(': + if (!inquote) { + // Skip comment inside angled address (same logic as main parser) + for (index++, nesting = 1; index < length && nesting > 0; index++) { + char cc = s.charAt(index); + if (cc == '\\') { + index++; // skip escaped char + } else if (cc == '(') { + nesting++; + } else if (cc == ')') { + nesting--; + } + } + index--; // point to closing paren + } + break; case '>': if (inquote) continue;