Index: django/core/mail.py
===================================================================
--- django/core/mail.py	(révision 6526)
+++ django/core/mail.py	(copie de travail)
@@ -72,18 +72,15 @@
         "Forbids multi-line headers, to prevent header injection."
         if '\n' in val or '\r' in val:
             raise BadHeaderError, "Header values can't contain newlines (got %r for header %r)" % (val, name)
-        try:
-            val = str(force_unicode(val))
-        except UnicodeEncodeError:
-            if name.lower() in ('to', 'from', 'cc'):
-                result = []
-                for item in val.split(', '):
-                    nm, addr = parseaddr(item)
-                    nm = str(Header(nm, settings.DEFAULT_CHARSET))
-                    result.append(formataddr((nm, str(addr))))
-                val = ', '.join(result)
-            else:
-                val = Header(force_unicode(val), settings.DEFAULT_CHARSET)
+        if name.lower() in ('to', 'from', 'cc'):
+            result = []
+            for item in val.split(', '):
+                nm, addr = parseaddr(item)
+                nm = str(Header(nm, settings.DEFAULT_CHARSET))
+                result.append(formataddr((nm, str(addr))))
+            val = ', '.join(result)
+        else:
+            val = Header(force_unicode(val), settings.DEFAULT_CHARSET)
         MIMEText.__setitem__(self, name, val)
 
 class SafeMIMEMultipart(MIMEMultipart):
@@ -91,18 +88,15 @@
         "Forbids multi-line headers, to prevent header injection."
         if '\n' in val or '\r' in val:
             raise BadHeaderError, "Header values can't contain newlines (got %r for header %r)" % (val, name)
-        try:
-            val = str(force_unicode(val))
-        except UnicodeEncodeError:
-            if name.lower() in ('to', 'from', 'cc'):
-                result = []
-                for item in val.split(', '):
-                    nm, addr = parseaddr(item)
-                    nm = str(Header(nm, settings.DEFAULT_CHARSET))
-                    result.append(formataddr((nm, str(addr))))
-                val = ', '.join(result)
-            else:
-                val = Header(force_unicode(val), settings.DEFAULT_CHARSET)
+        if name.lower() in ('to', 'from', 'cc'):
+            result = []
+            for item in val.split(', '):
+                nm, addr = parseaddr(item)
+                nm = str(Header(nm, settings.DEFAULT_CHARSET))
+                result.append(formataddr((nm, str(addr))))
+            val = ', '.join(result)
+        else:
+            val = Header(force_unicode(val), settings.DEFAULT_CHARSET)
         MIMEMultipart.__setitem__(self, name, val)
 
 class SMTPConnection(object):
