Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-16273

Add mixed content support for the JSM Mail Channel when the setting "HTML email parsing" is turned OFF

    • Icon: Suggestion Suggestion
    • Resolution: Unresolved
    • None
    • Email - Incoming
    • 1
    • We collect Jira Service Desk feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      Summary

      When the setting HTML email parsing is disabled, the JSM (Jira Service Management) Mail Channel will fail to process incoming emails that have an empty plain text content, while having a non empty HTML content, with the error below:

      Message body is empty where Description field is required
      

      The reason why this issue is happening is because the JSM Mail Channel does not handle "mixed content" when the HTML email parsing is disabled. With such configuration, the Mail Channel ignores the HTML content of an email, and is forced to use the Plain Content instead, even if this Content is empty (which may happen with emails sent by certain mail clients).

      The purpose of this Feature Request is to change the design of the JSM Mail Channel so that it supports mixed content, and reverts to the HTML content in the case where the Plain Text content is empty.

      Steps to replicate

      • Create a new JSM project
      • Configure a Mail Channel in this project via the page Project Settings > Email Requests
      • Go to the page âš™ > Applications > Email request
      • Set HTML email parsing to No, remove the formatting by converting HTML messages to plain text
      • Send an email to the Mail Channel:
        • with the following headers:
          • Content-Type: multipart/alternative: which indicates that the email will have multipl part content
          • Content-Type: text/plain: which will content the Plain Text content
          • Content-Type: text/html: which will content the HTML Text content
        • Make sure that the content inside Content-Type: text/plain is completely empty, for example:
          Content-Type: multipart/alternative;
          
          ...
          
          ------=_Part_6559_2005237329.1748345807180
          Content-Type: text/plain; charset="UTF-8"
          Content-Transfer-Encoding: 7bit
          
          
          ------=_Part_6559_2005237329.1748345807180
          Content-Type: text/html; charset="UTF-8"
          Content-Transfer-Encoding: quoted-printable
          
          <head><!-- BaNnErBlUrFlE-HeAdEr-start -->
          <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8"><s=
          tyle>
            #pfptBannerwhiwid3 { all: revert !important; display: block !important;=20
              visibility: visible !important; opacity: 1 !important;=20
              background-color: #ff9999 !important;=20
              max-width: none !important; max-height: none !important }
            .pfptPrimaryButtonwhiwid3:hover, .pfptPrimaryButtonwhiwid3:focus {
              background-color: #fb7f7f !important; }
            .pfptPrimaryButtonwhiwid3:active {
              background-color: #fe5c5c !important; }
          </style>
          
          <!-- BaNnErBlUrFlE-HeAdEr-end -->
          
          ...
          
      • Wait until the JSM Mail Channel processes the email
      • Check the Audit Logs of this JSM Mail Channel, and note that the Mail failed to be processed with the error below:
      Message body is empty where Description field is required
      

      Workaround

      • Go to the page âš™ > Applications > Email request
      • Set HTML email parsing to Yes

      Note that, with such configuration, if you are using a JSM Version lower than 5.12.15, you might face the bug JSDSERVER-15531

          Form Name

            [JSDSERVER-16273] Add mixed content support for the JSM Mail Channel when the setting "HTML email parsing" is turned OFF

            SET Analytics Bot made changes -
            Support reference count New: 1
            Security Metrics Bot made changes -
            Labels New: ril
            Security Metrics Bot made changes -
            Remote Link New: This issue links to "Internal ticket (Web Link)" [ 1028321 ]
            Julien Rey made changes -
            Description Original: h3. Summary

            When the setting *HTML email parsing* is disabled, the JSM (Jira Service Management) Mail Channel will fail to process incoming emails that have an empty plain text content, while having a non empty HTML content, with the error below:
            {code}
            Message body is empty where Description field is required
            {code}

            The reason why this issue is happening is because the JSM Mail Channel does not handle "mixed content" when the *HTML email parsing* is disabled. With such configuration, the Mail Channel ignores the HTML content of an email, and is forced to use the Plain Content instead, even if this Content is empty (which may happen with emails sent by certain mail clients).

            The purpose of this Feature Request is to change the design of the JSM Mail Channel so that it supports mixed content, and reverts to the HTML content in the case where the Plain Text content is empty.

            h3. Steps to replicate

            - Create a new JSM project
            - Configure a Mail Channel in this project via the page *Project Settings > Email Requests*
            - Go to the page *âš™ > Applications > Email request*
            - Set *HTML email parsing* to *No, remove the formatting by converting HTML messages to plain text*
            - Send an email to the Mail Channel:
            -- with the following headers:
            --- *Content-Type: multipart/alternative*: which indicates that the email will have multipl part content
            --- *Content-Type: text/plain*: which will content the Plain Text content
            --- *Content-Type: text/html*: which will content the HTML Text content
            -- Make sure that the content inside *Content-Type: text/plain* is completely empty, for example:
            {code}
            Content-Type: multipart/alternative;

            ...

            ------=_Part_6559_2005237329.1748345807180
            Content-Type: text/plain; charset="UTF-8"
            Content-Transfer-Encoding: 7bit


            ------=_Part_6559_2005237329.1748345807180
            Content-Type: text/html; charset="UTF-8"
            Content-Transfer-Encoding: quoted-printable

            <head><!-- BaNnErBlUrFlE-HeAdEr-start -->
            <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8"><s=
            tyle>
              #pfptBannerwhiwid3 { all: revert !important; display: block !important;=20
                visibility: visible !important; opacity: 1 !important;=20
                background-color: #ff9999 !important;=20
                max-width: none !important; max-height: none !important }
              .pfptPrimaryButtonwhiwid3:hover, .pfptPrimaryButtonwhiwid3:focus {
                background-color: #fb7f7f !important; }
              .pfptPrimaryButtonwhiwid3:active {
                background-color: #fe5c5c !important; }
            </style>

            <!-- BaNnErBlUrFlE-HeAdEr-end -->

            ...
            {code}
            - Wait until the JSM Mail Channel processes the email
            - Check the Audit Logs of this JSM Mail Channel, and note that the Mail failed to be processed with the error below:
            {code}
            Message body is empty where Description field is required
            {code}

            h3. Workaround

            - Go to the page *âš™ > Applications > Email request*
            - Set *HTML email parsing* to *Yes*

            (!) Note that, with such configuration, if you are using a JSM Version lower than 5.12.15, you might face the bug [JSDSERVER-15531|https://jira.atlassian.com/browse/JSDSERVER-15531]
            New: h3. Summary

            When the setting *HTML email parsing* is disabled, the JSM (Jira Service Management) Mail Channel will fail to process incoming emails that have an empty plain text content, while having a non empty HTML content, with the error below:
            {code:java}
            Message body is empty where Description field is required
            {code}
            The reason why this issue is happening is because the JSM Mail Channel does not handle "mixed content" when the *HTML email parsing* is disabled. With such configuration, the Mail Channel ignores the HTML content of an email, and is forced to use the Plain Content instead, even if this Content is empty (which may happen with emails sent by certain mail clients).

            The purpose of this Feature Request is to change the design of the JSM Mail Channel so that it supports mixed content, and reverts to the HTML content in the case where the Plain Text content is empty.
            h3. Steps to replicate
             - Create a new JSM project
             - Configure a Mail Channel in this project via the page *Project Settings > Email Requests*
             - Go to the page *âš™ > Applications > Email request*
             - Set *HTML email parsing* to *No, remove the formatting by converting HTML messages to plain text*
             - Send an email to the Mail Channel:
             -- with the following headers:
             --- {*}Content-Type: multipart/alternative{*}: which indicates that the email will have multipl part content
             --- {*}Content-Type: text/plain{*}: which will content the Plain Text content
             --- {*}Content-Type: text/html{*}: which will content the HTML Text content
             -- Make sure that the content inside *Content-Type: text/plain* is completely empty, for example:
            {code:java}
            Content-Type: multipart/alternative;

            ...

            ------=_Part_6559_2005237329.1748345807180
            Content-Type: text/plain; charset="UTF-8"
            Content-Transfer-Encoding: 7bit


            ------=_Part_6559_2005237329.1748345807180
            Content-Type: text/html; charset="UTF-8"
            Content-Transfer-Encoding: quoted-printable

            <head><!-- BaNnErBlUrFlE-HeAdEr-start -->
            <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8"><s=
            tyle>
              #pfptBannerwhiwid3 { all: revert !important; display: block !important;=20
                visibility: visible !important; opacity: 1 !important;=20
                background-color: #ff9999 !important;=20
                max-width: none !important; max-height: none !important }
              .pfptPrimaryButtonwhiwid3:hover, .pfptPrimaryButtonwhiwid3:focus {
                background-color: #fb7f7f !important; }
              .pfptPrimaryButtonwhiwid3:active {
                background-color: #fe5c5c !important; }
            </style>

            <!-- BaNnErBlUrFlE-HeAdEr-end -->

            ...
            {code}

             - Wait until the JSM Mail Channel processes the email
             - Check the Audit Logs of this JSM Mail Channel, and note that the Mail failed to be processed with the error below:
            !Results.png|thumbnail!

            {code:java}
            Message body is empty where Description field is required
            {code}

            h3. Workaround
             - Go to the page *âš™ > Applications > Email request*
             - Set *HTML email parsing* to *Yes*

            (!) Note that, with such configuration, if you are using a JSM Version lower than 5.12.15, you might face the bug [JSDSERVER-15531|https://jira.atlassian.com/browse/JSDSERVER-15531]
            Julien Rey made changes -
            Attachment New: Results.png [ 503471 ]
            Julien Rey created issue -

              Unassigned Unassigned
              jrey Julien Rey
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: