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):
|
---|