From 4cb47c1848bb5d20b5ae167a7ab2879d00825f84 Mon Sep 17 00:00:00 2001 From: NavaL Date: Tue, 22 Dec 2015 18:16:17 +0100 Subject: decode to base64 the raw attachment that is in bytes... and renaming id to attachment_id in the mail POST Issue #548 --- service/pixelated/adapter/model/mail.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'service/pixelated/adapter/model/mail.py') diff --git a/service/pixelated/adapter/model/mail.py b/service/pixelated/adapter/model/mail.py index 4f06588b..1a505481 100644 --- a/service/pixelated/adapter/model/mail.py +++ b/service/pixelated/adapter/model/mail.py @@ -19,6 +19,8 @@ import logging from email import message_from_file from email.mime.text import MIMEText from email.header import Header + +import binascii from email.MIMEMultipart import MIMEMultipart from email.mime.nonmultipart import MIMENonMultipart from pycryptopp.hash import sha256 @@ -111,8 +113,11 @@ class Mail(object): def _add_attachments(self, mime): for attachment in getattr(self, '_attachments', []): major, sub = attachment['content-type'].split('/') - attachment_mime = MIMENonMultipart(major, sub, Content_Disposition='attachment; filename=%s' % attachment['filename']) - attachment_mime.set_payload(attachment['raw']) + attachment_mime = MIMENonMultipart(major, sub) + base64_attachment_file = binascii.b2a_base64(attachment['raw']) + attachment_mime.set_payload(base64_attachment_file) + attachment_mime['Content-Disposition'] = 'attachment; filename="%s"' % attachment['filename'] + attachment_mime['Content-Transfer-Encoding'] = 'base64' mime.attach(attachment_mime) def _charset(self): -- cgit v1.2.3