diff --git a/conversations/emails.py b/conversations/emails.py index 571464a..b3f29b3 100644 --- a/conversations/emails.py +++ b/conversations/emails.py @@ -47,7 +47,14 @@ def email_recv(request): content = msg.get_payload(decode=True) if python_version < (3,): - content = content.decode('utf-8') + try: + content = content.decode('utf-8') + except DjangoUnicodeDecodeError: + encoding = chardet.detect(content)['encoding'] + content = content.decode(encoding) + + if content == None: + content = "" addr = settings.REPLY_EMAIL pos = addr.find('@') diff --git a/conversations/models.py b/conversations/models.py index 40741d1..b34c83e 100644 --- a/conversations/models.py +++ b/conversations/models.py @@ -20,7 +20,7 @@ class Message(PonyConfModel): token = models.CharField(max_length=64, default=generate_message_token, unique=True) author = models.ForeignKey(User) - content = models.TextField() + content = models.TextField(blank=True) system = models.BooleanField(default=False) class Meta: