mirror of
https://github.com/django-helpdesk/django-helpdesk.git
synced 2025-05-30 22:45:48 +02:00
* Fixes issue #34, where e-mail headers in non-ascii encoding
were displayed incorrectly. Thanks to kron82 for reporting this.
This commit is contained in:
parent
9e1179606e
commit
a20ab36452
@ -16,6 +16,7 @@ import mimetypes
|
||||
import poplib
|
||||
import re
|
||||
from datetime import datetime, timedelta
|
||||
from email.header import decode_header
|
||||
from email.Utils import parseaddr
|
||||
|
||||
from django.core.files.base import ContentFile
|
||||
@ -115,17 +116,20 @@ def decodeUnknown(charset, string):
|
||||
string = unicode(string)
|
||||
return string
|
||||
|
||||
def decode_mail_headers(string):
|
||||
decoded = decode_header(string)
|
||||
return u' '.join([unicode(msg, charset or 'utf-8') for msg, charset in decoded])
|
||||
|
||||
def ticket_from_message(message, queue):
|
||||
# 'message' must be an RFC822 formatted message.
|
||||
msg = message
|
||||
message = email.message_from_string(msg)
|
||||
subject = message.get('subject', _('Created from e-mail'))
|
||||
subject = decodeUnknown(message.get_charset(), subject)
|
||||
subject = decode_mail_headers(decodeUnknown(message.get_charset(), subject))
|
||||
subject = subject.replace("Re: ", "").replace("Fw: ", "").replace("RE: ", "").replace("FW: ", "").strip()
|
||||
|
||||
sender = message.get('from', _('Unknown Sender'))
|
||||
sender = decodeUnknown(message.get_charset(), sender)
|
||||
sender = decode_mail_headers(decodeUnknown(message.get_charset(), sender))
|
||||
|
||||
sender_email = parseaddr(sender)[1]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user