Details
-
New Feature
-
Status: Open
-
Critical
-
Resolution: Unresolved
-
None
-
None
-
Security Level: public (Regular issues)
-
None
Description
As per the TomEE 9.1 documentation https://jakarta.ee/specifications/platform/9.1/apidocs/jakarta/mail/internet/package-summary.html
There is mail.mime.parameters.strict Jakarta Mail implementation System properties to control Content-Type and Content-Disposition to contain whitespace and other special characters without being quoted.
mail.mime.parameters.strict | boolean | If set to false, when reading a message, parameter values in header fields such as Content-Type and Content-Disposition are allowed to contain whitespace and other special characters without being quoted; the parameter value ends at the next semicolon. If set to true (the default), parameter values are required to conform to the MIME specification and must be quoted if they contain whitespace or special characters. |
But there is no implementation for mail.mime.parameters.strict inside in jakarta\mail\internet\ParameterList.java class of geronimo-mail_2.1_spec-1.0.0-M1-src.jar in TomEE 9.1.0. Due to this, can't consume this implementation for real time use cases.
If any jakarta.mail.internet.MimeBodyPart content type does not contain double quotes in content type e.g
jakarta.mail.internet.MimeBodyPart part = <some part assignement> part.getContentType() (java.lang.String) multipart/related; type=text/html; boundary=MErelboundary-32775405-3-1674841212 See above coming like type=text/html; not like type="text/html"; So if i use part.isMimeType("text/plain") this is failing.
To support such MimeBodyPart i turn off
-Dmail.mime.parameters.strict=false
in tomee java option but no effect happened. When checking the code of jakarta\mail\internet\ParameterList.java class of geronimo-mail_2.1_spec-1.0.0-M1-src.jar in TomEE 9.1.0, I do not see this parameter.
Due to this many email scenarios are not working.
Debug logs-
part.isMimeType("text/plain") Error trace- Caused by: jakarta.mail.internet.ParseException: Missing ';' at jakarta.mail.internet.ParameterList.<init>(ParameterList.java:204) at jakarta.mail.internet.ContentType.<init>(ContentType.java:73) at jakarta.mail.internet.MimeBodyPart.isMimeType(MimeBodyPart.java:163
Attachments
Issue Links
- relates to
-
TOMEE-4240 The implementation for mail.mime.parameters.strict parameter is missing in jakarta\mail\internet\ParameterList.java class of geronimo-mail_2.1_spec-1.0.0-M1.jar in TomEE 9.1.0
- Open