Django

Code

Show
Ignore:
Timestamp:
07/25/08 22:37:25 (4 months ago)
Author:
mtredinnick
Message:

Fixed #7574 -- Fixed the handling of lazy translation in email headers.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/core/mail.py

    r7864 r8083  
    7272def forbid_multi_line_headers(name, val): 
    7373    """Forbids multi-line headers, to prevent header injection.""" 
     74    val = force_unicode(val) 
    7475    if '\n' in val or '\r' in val: 
    7576        raise BadHeaderError("Header values can't contain newlines (got %r for header %r)" % (val, name)) 
    7677    try: 
    77         val = force_unicode(val).encode('ascii') 
     78        val = val.encode('ascii') 
    7879    except UnicodeEncodeError: 
    7980        if name.lower() in ('to', 'from', 'cc'): 
     
    8586            val = ', '.join(result) 
    8687        else: 
    87             val = Header(force_unicode(val), settings.DEFAULT_CHARSET) 
     88            val = Header(val, settings.DEFAULT_CHARSET) 
    8889    return name, val 
    8990