| 1 | Index: django/core/mail.py
|
|---|
| 2 | ===================================================================
|
|---|
| 3 | --- django/core/mail.py (révision 6526)
|
|---|
| 4 | +++ django/core/mail.py (copie de travail)
|
|---|
| 5 | @@ -72,18 +72,15 @@
|
|---|
| 6 | "Forbids multi-line headers, to prevent header injection."
|
|---|
| 7 | if '\n' in val or '\r' in val:
|
|---|
| 8 | raise BadHeaderError, "Header values can't contain newlines (got %r for header %r)" % (val, name)
|
|---|
| 9 | - try:
|
|---|
| 10 | - val = str(force_unicode(val))
|
|---|
| 11 | - except UnicodeEncodeError:
|
|---|
| 12 | - if name.lower() in ('to', 'from', 'cc'):
|
|---|
| 13 | - result = []
|
|---|
| 14 | - for item in val.split(', '):
|
|---|
| 15 | - nm, addr = parseaddr(item)
|
|---|
| 16 | - nm = str(Header(nm, settings.DEFAULT_CHARSET))
|
|---|
| 17 | - result.append(formataddr((nm, str(addr))))
|
|---|
| 18 | - val = ', '.join(result)
|
|---|
| 19 | - else:
|
|---|
| 20 | - val = Header(force_unicode(val), settings.DEFAULT_CHARSET)
|
|---|
| 21 | + if name.lower() in ('to', 'from', 'cc'):
|
|---|
| 22 | + result = []
|
|---|
| 23 | + for item in val.split(', '):
|
|---|
| 24 | + nm, addr = parseaddr(item)
|
|---|
| 25 | + nm = str(Header(nm, settings.DEFAULT_CHARSET))
|
|---|
| 26 | + result.append(formataddr((nm, str(addr))))
|
|---|
| 27 | + val = ', '.join(result)
|
|---|
| 28 | + else:
|
|---|
| 29 | + val = Header(force_unicode(val), settings.DEFAULT_CHARSET)
|
|---|
| 30 | MIMEText.__setitem__(self, name, val)
|
|---|
| 31 |
|
|---|
| 32 | class SafeMIMEMultipart(MIMEMultipart):
|
|---|
| 33 | @@ -91,18 +88,15 @@
|
|---|
| 34 | "Forbids multi-line headers, to prevent header injection."
|
|---|
| 35 | if '\n' in val or '\r' in val:
|
|---|
| 36 | raise BadHeaderError, "Header values can't contain newlines (got %r for header %r)" % (val, name)
|
|---|
| 37 | - try:
|
|---|
| 38 | - val = str(force_unicode(val))
|
|---|
| 39 | - except UnicodeEncodeError:
|
|---|
| 40 | - if name.lower() in ('to', 'from', 'cc'):
|
|---|
| 41 | - result = []
|
|---|
| 42 | - for item in val.split(', '):
|
|---|
| 43 | - nm, addr = parseaddr(item)
|
|---|
| 44 | - nm = str(Header(nm, settings.DEFAULT_CHARSET))
|
|---|
| 45 | - result.append(formataddr((nm, str(addr))))
|
|---|
| 46 | - val = ', '.join(result)
|
|---|
| 47 | - else:
|
|---|
| 48 | - val = Header(force_unicode(val), settings.DEFAULT_CHARSET)
|
|---|
| 49 | + if name.lower() in ('to', 'from', 'cc'):
|
|---|
| 50 | + result = []
|
|---|
| 51 | + for item in val.split(', '):
|
|---|
| 52 | + nm, addr = parseaddr(item)
|
|---|
| 53 | + nm = str(Header(nm, settings.DEFAULT_CHARSET))
|
|---|
| 54 | + result.append(formataddr((nm, str(addr))))
|
|---|
| 55 | + val = ', '.join(result)
|
|---|
| 56 | + else:
|
|---|
| 57 | + val = Header(force_unicode(val), settings.DEFAULT_CHARSET)
|
|---|
| 58 | MIMEMultipart.__setitem__(self, name, val)
|
|---|
| 59 |
|
|---|
| 60 | class SMTPConnection(object):
|
|---|