Uploaded image for project: 'Geronimo'
  1. Geronimo
  2. GERONIMO-6851

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

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • None
    • None
    • general
    • 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

          Activity

            People

              Unassigned Unassigned
              dgocher Dharmraj Gocher
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: