mirror of
https://gitea.mueller.network/extern/django-helpdesk.git
synced 2024-12-28 01:28:51 +01:00
Merge pull request #729 from auto-mat/quoted-printable
Decode quoted-printable html bodies when getting email
This commit is contained in:
commit
37be1346cd
@ -481,8 +481,9 @@ def object_from_message(message, queue, logger):
|
|||||||
body.encode('utf-8')
|
body.encode('utf-8')
|
||||||
logger.debug("Discovered plain text MIME part")
|
logger.debug("Discovered plain text MIME part")
|
||||||
else:
|
else:
|
||||||
|
payload = encoding.smart_bytes(part.get_payload(decode=True))
|
||||||
files.append(
|
files.append(
|
||||||
SimpleUploadedFile(_("email_html_body.html"), encoding.smart_bytes(part.get_payload()), 'text/html')
|
SimpleUploadedFile(_("email_html_body.html"), payload, 'text/html')
|
||||||
)
|
)
|
||||||
logger.debug("Discovered HTML MIME part")
|
logger.debug("Discovered HTML MIME part")
|
||||||
else:
|
else:
|
||||||
|
22
helpdesk/tests/test_files/quoted_printable.eml
Normal file
22
helpdesk/tests/test_files/quoted_printable.eml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
MIME-Version: 1.0
|
||||||
|
Date: Tue, 5 Mar 2019 18:03:06 +0100
|
||||||
|
Message-ID: <CACf_UpPA7=DRF4NLFf4WpOVwHsRMtfNEwy1DHLjfh09DjuKZFA@mail.gmail.com>
|
||||||
|
Subject: =?UTF-8?B?xIxlc2vDvSB0ZXN0?=
|
||||||
|
From: Tim hobbs <tim.thelion@gmail.com>
|
||||||
|
To: helpdesk@auto-mat.cz
|
||||||
|
Content-Type: multipart/alternative; boundary="00000000000002a7c505835bd998"
|
||||||
|
|
||||||
|
--00000000000002a7c505835bd998
|
||||||
|
Content-Type: text/plain; charset="UTF-8"
|
||||||
|
Content-Transfer-Encoding: quoted-printable
|
||||||
|
|
||||||
|
Tohle je test =C4=8Desk=C3=BDch p=C3=ADsmen odeslan=C3=BDch z gmailu.
|
||||||
|
|
||||||
|
--00000000000002a7c505835bd998
|
||||||
|
Content-Type: text/html; charset="UTF-8"
|
||||||
|
Content-Transfer-Encoding: quoted-printable
|
||||||
|
|
||||||
|
<div dir=3D"ltr">Tohle je test =C4=8Desk=C3=BDch p=C3=ADsmen odeslan=C3=BDc=
|
||||||
|
h z gmailu.</div>
|
||||||
|
|
||||||
|
--00000000000002a7c505835bd998--
|
@ -56,6 +56,23 @@ class GetEmailCommonTests(TestCase):
|
|||||||
self.assertEqual(ticket.title, "Attachment without body")
|
self.assertEqual(ticket.title, "Attachment without body")
|
||||||
self.assertEqual(ticket.description, "")
|
self.assertEqual(ticket.description, "")
|
||||||
|
|
||||||
|
def test_email_with_blank_body_and_attachment(self):
|
||||||
|
"""
|
||||||
|
Tests that emails with quoted-printable bodies work.
|
||||||
|
"""
|
||||||
|
with open(os.path.join(THIS_DIR, "test_files/quoted_printable.eml")) as fd:
|
||||||
|
test_email = fd.read()
|
||||||
|
ticket = helpdesk.email.object_from_message(test_email, self.queue_public, self.logger)
|
||||||
|
self.assertEqual(ticket.title, "Český test")
|
||||||
|
self.assertEqual(ticket.description, "Tohle je test českých písmen odeslaných z gmailu.")
|
||||||
|
followups = FollowUp.objects.filter(ticket=ticket)
|
||||||
|
self.assertEqual(len(followups), 1)
|
||||||
|
followup = followups[0]
|
||||||
|
attachments = Attachment.objects.filter(followup=followup)
|
||||||
|
self.assertEqual(len(attachments), 1)
|
||||||
|
attachment = attachments[0]
|
||||||
|
self.assertEqual(attachment.file.read().decode("utf-8"), '<div dir="ltr">Tohle je test českých písmen odeslaných z gmailu.</div>\n')
|
||||||
|
|
||||||
|
|
||||||
class GetEmailParametricTemplate(object):
|
class GetEmailParametricTemplate(object):
|
||||||
"""TestCase that checks basic email functionality across methods and socks configs."""
|
"""TestCase that checks basic email functionality across methods and socks configs."""
|
||||||
|
Loading…
Reference in New Issue
Block a user