Email Content Transfer Encoding

5/3/2019by admin
  • Status:Closed(View Workflow)
  • Resolution: Fixed
  • Fix Version/s:3.9.0
  • Labels:

The content-transfer-encoding: MIME header has 2-sided significance: It indicates whether or not a binary-to-text encoding scheme has been used on top of the original encoding as specified within the Content-Type header: If such a binary-to-text encoding method has been used, it states which one.

Encodes the payload into base64 form and sets the Content-Transfer-Encoding header to base64. This is a good encoding to use when most of your payload is unprintable data since it is a more compact form than quoted-printable. The drawback of base64 encoding is that it renders the text non-human readable. Content transfer encoding defines encoding methods for transforming binary email message data into the US-ASCII plain text format. This transformation allows the message to travel through older SMTP messaging servers that only support messages in US-ASCII text. Content transfer encoding is defined in.

  • Symptom Severity:
  • Bug Fix Policy:

Summary of Issue

When JIRA Service Desk Mail Handler processes an email where the body of the email is encoded as Content-Transfer-Encoding: base64:

  1. For a new ticket - the decoded contents are added into Ticket Description (but HTML is also added as an attachment to the ticket)
  2. For an existing ticket - the decoded contents are added into Ticket Comment (but HTML is also added as an attachment to the ticket)

The behaviour works as expected (no additional attachment) when email body is encoded as Content-Transfer-Encoding: quoted-printable.

How to reproduce

  1. Send an email to the JIRA Service Desk listening email address
  2. Once the email has arrived and processed by JIRA Service Desk
    • Extract out the contents of AO_2C4E5C_MAILITEMCHUNK and decode
    • Update the main body encoding from Content-Transfer-Encoding: quoted-printable to Content-Transfer-Encoding: base64
    • Also encode the actual email body to base64
    • Re-encode the whole email as base64
    • Re-update into AO_2C4E5C_MAILITEMCHUNK and set AO_2C4E5C_MAILITEM.status to 'NEW' for reprocessing

Expected Result

Email body updated into Ticket Description / Ticket Comment without adding it again as an attachment.

Samsung Email Content Transfer Encoding

Actual Result

In JIRA Service Desk (for both Server and Cloud):

  1. For a new ticket - the decoded contents are added into Ticket Description (but HTML is also added as an attachment to the ticket)
  2. For an existing ticket - the decoded contents are added into Ticket Comment (but HTML is also added as an attachment to the ticket)
Email Content Transfer Encoding

Workaround

There is no usability issue as the comment is posted into the ticket appropriately but the redundant attachment is occupying additional disk space.

The work around would be to simply delete the attachment (which has a random 8 character name such as ohecJTek)

was cloned as

CLOUD-10208Email body encoded as Content-Transfer-Encoding: base64 added as duplicate attachment

  • Open - untriaged
relates to
  • Assignee:
    Unassigned
    Reporter:
    Eric Lam
  • Votes:
    1Vote for this issue
    Watchers:
    3Start watching this issue
  • Created:
    Updated:
    Resolved:

October 24, 2007

These new examples demonstrate how to send email using the '8bit' encoding. (As opposed to quoted-printable or base64.) It also demonstrates the RenderToMime method which can be called to get the MIME source of an email as it would be when rendered for sending.

ASP: Send Email with 8bit Content-Transfer-Encoding
SQL Server: Send Email with 8bit Content-Transfer-Encoding
C#: Send Email with 8bit Content-Transfer-Encoding
C++: Send Email with 8bit Content-Transfer-Encoding
Delphi: Send Email with 8bit Content-Transfer-Encoding
Visual FoxPro: Send Email with 8bit Content-Transfer-Encoding
Java: Send Email with 8bit Content-Transfer-Encoding
Perl: Send Email with 8bit Content-Transfer-Encoding
Python: Send Email with 8bit Content-Transfer-Encoding
Ruby: Send Email with 8bit Content-Transfer-Encoding
VB.NET: Send Email with 8bit Content-Transfer-Encoding
Visual Basic: Send Email with 8bit Content-Transfer-Encoding
VBScript: Send Email with 8bit Content-Transfer-Encoding