Search code examples
godecodingquoted-printable

mime.quotedprintable having trouble decoding this message


I am trying to decode a message which doesn't completely conform to the Quoted Printable String idea.

One of the snippets as shown below has an = where should be an =3D this occurs in a number of places. In fact there are two offences occurring here:

------=_Part_7575500_2105086112.1449628640342
Content-Type: text/html; charset="UTF-8"

I'm decoding with the as follows:

qpr := quotedprintable.NewReader(msg.Body)
    cleanBody, err := ioutil.ReadAll(qpr)

The resulting error is: (complaining about the _ after first =)

quotedprintable: invalid hex byte 0x5f

How can I fix get this to work please? Thank you.


Solution

  • You don't just have quoted-printable data, it's part of a MIME multipart message. The =_ pattern is specifically used because it can never occur in a quoted-printable message.

    Use a multipart.Reader to get the contents of each part.