1
0
Fork 1
mirror of https://github.com/coddingtonbear/django-mailbox.git synced 2026-07-09 22:38:19 +02:00

Merge branch 'master' of github.com:coddingtonbear/django-mailbox

This commit is contained in:
Adam Coddington 2014-04-24 15:49:18 -07:00
commit 2b90f08250
6 changed files with 117 additions and 15 deletions

View file

@ -1,6 +1,5 @@
import base64
import email
from email.header import decode_header
from email.message import Message as EmailMessage
from email.utils import formatdate, parseaddr
from email.encoders import encode_base64
@ -21,6 +20,8 @@ from django_mailbox.signals import message_received
import six
from six.moves.urllib.parse import unquote, urlparse
from .utils import convert_header_to_unicode
STRIP_UNALLOWED_MIMETYPES = getattr(
settings,
@ -266,13 +267,13 @@ class Mailbox(models.Model):
msg = Message()
msg.mailbox = self
if 'subject' in message:
msg.subject = message['subject'][0:255]
msg.subject = convert_header_to_unicode(message['subject'])[0:255]
if 'message-id' in message:
msg.message_id = message['message-id'][0:255]
if 'from' in message:
msg.from_header = message['from']
msg.from_header = convert_header_to_unicode(message['from'])
if 'to' in message:
msg.to_header = message['to']
msg.to_header = convert_header_to_unicode(message['to'])
msg.save()
message = self._get_dehydrated_message(message, msg)
msg.set_body(message.as_string())
@ -567,10 +568,7 @@ class MessageAttachment(models.Model):
def get_filename(self):
file_name = self._get_rehydrated_headers().get_filename()
if file_name:
encoded_subject, encoding = decode_header(file_name)[0]
if encoding:
encoded_subject = encoded_subject.decode(encoding)
return encoded_subject
return convert_header_to_unicode(file_name)
else:
return None