Django

Code

Changeset 2901

Show
Ignore:
Timestamp:
05/13/06 12:18:42 (3 years ago)
Author:
jacob
Message:

Fixed #1235: email sent from django.core.mail will now be encoded using
the value of the DEFAULT_CHARSET setting. Thanks, igor@goryachev.org and akaihola.

Files:

Legend:

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

    r2809 r2901  
    33from django.conf import settings 
    44from email.MIMEText import MIMEText 
     5from email.Header import Header 
    56import smtplib 
    67 
     
    1314        if '\n' in val or '\r' in val: 
    1415            raise BadHeaderError, "Header values can't contain newlines (got %r for header %r)" % (val, name) 
     16        if name == "Subject": 
     17            val = Header(val, settings.DEFAULT_CHARSET) 
    1518        MIMEText.__setitem__(self, name, val) 
    1619 
     
    4346            continue 
    4447        from_email = from_email or settings.DEFAULT_FROM_EMAIL 
    45         msg = SafeMIMEText(message
     48        msg = SafeMIMEText(message, 'plain', settings.DEFAULT_CHARSET
    4649        msg['Subject'] = subject 
    4750        msg['From'] = from_email 
  • django/trunk/docs/email.txt

    r2809 r2901  
    2020    send_mail('Subject here', 'Here is the message.', 'from@example.com', 
    2121        ['to@example.com'], fail_silently=False) 
     22         
     23.. note:: 
     24 
     25    The character set of email sent with ``django.core.mail`` will be set to 
     26    the value of your `DEFAULT_CHARSET setting`_. 
     27     
     28.. _DEFAULT_CHARSET setting: ../settings/#DEFAULT_CHARSET 
    2229 
    2330send_mail()