瀏覽代碼

Add CELERY_EMAIL_CHARSET option

This option allows setting charset for outgoing celery emails.
Vladimir Gorbunov 9 年之前
父節點
當前提交
cfc9450e19
共有 4 個文件被更改,包括 13 次插入2 次删除
  1. 1 0
      celery/app/base.py
  2. 1 0
      celery/app/defaults.py
  3. 3 2
      celery/loaders/base.py
  4. 8 0
      docs/configuration.rst

+ 1 - 0
celery/app/base.py

@@ -465,6 +465,7 @@ class Celery(object):
                 timeout=conf.EMAIL_TIMEOUT,
                 use_ssl=conf.EMAIL_USE_SSL,
                 use_tls=conf.EMAIL_USE_TLS,
+                charset=conf.EMAIL_CHARSET,
             )
 
     def select_queues(self, queues=None):

+ 1 - 0
celery/app/defaults.py

@@ -220,6 +220,7 @@ NAMESPACES = {
         'TIMEOUT': Option(2, type='float'),
         'USE_SSL': Option(False, type='bool'),
         'USE_TLS': Option(False, type='bool'),
+        'CHARSET': Option('us-ascii'),
     },
     'SERVER_EMAIL': Option('celery@localhost'),
     'ADMINS': Option((), type='tuple'),

+ 3 - 2
celery/loaders/base.py

@@ -224,10 +224,11 @@ class BaseLoader(object):
     def mail_admins(self, subject, body, fail_silently=False,
                     sender=None, to=None, host=None, port=None,
                     user=None, password=None, timeout=None,
-                    use_ssl=False, use_tls=False):
+                    use_ssl=False, use_tls=False, charset='us-ascii'):
         message = self.mail.Message(sender=sender, to=to,
                                     subject=safe_str(subject),
-                                    body=safe_str(body))
+                                    body=safe_str(body),
+                                    charset=charset)
         mailer = self.mail.Mailer(host=host, port=port,
                                   user=user, password=password,
                                   timeout=timeout, use_ssl=use_ssl,

+ 8 - 0
docs/configuration.rst

@@ -1633,6 +1633,14 @@ to the SMTP server when sending emails.
 
 The default is 2 seconds.
 
+EMAIL_CHARSET
+~~~~~~~~~~~~~
+
+Charset for outgoing emails. Default is "us-ascii".
+
+.. setting:: EMAIL_CHARSET
+
+
 .. _conf-example-error-mail-config:
 
 Example E-Mail configuration