Forráskód Böngészése

Replaced django.core.mail.mail_admins with mailer package

Ask Solem 15 éve
szülő
commit
56200aa393
3 módosított fájl, 26 hozzáadás és 1 törlés
  1. 24 0
      celery/utils/mail.py
  2. 1 1
      celery/worker/job.py
  3. 1 0
      setup.py

+ 24 - 0
celery/utils/mail.py

@@ -0,0 +1,24 @@
+from mailer import Message, Mailer
+
+from celery.loaders import load_settings
+
+
+def mail_admins(subject, message, fail_silently=False):
+    """Send a message to the admins in settings.ADMINS."""
+    settings = load_settings()
+    if not settings.ADMINS:
+        return
+    to = ", ".join(admin_email for _, admin_email in settings.ADMINS)
+    username = settings.EMAIL_HOST_USER
+    password = settings.EMAIL_HOST_PASSWORD
+
+    message = Message(From=settings.SERVER_EMAIL, To=to,
+                      Subject=subject, Message=message)
+
+    try:
+        mailer = Mailer(settings.EMAIL_HOST, settings.EMAIL_PORT)
+        username and mailer.login(username, password)
+        mailer.send(message)
+    except Exception:
+        if not fail_silently:
+            raise

+ 1 - 1
celery/worker/job.py

@@ -8,12 +8,12 @@ import time
 import socket
 import warnings
 
-from django.core.mail import mail_admins
 
 from celery import conf
 from celery import platform
 from celery.log import get_default_logger
 from celery.utils import noop, fun_takes_kwargs
+from celery.utils.mail import mail_admins
 from celery.loaders import current_loader
 from celery.execute.trace import TaskTrace
 from celery.registry import tasks

+ 1 - 0
setup.py

@@ -62,6 +62,7 @@ except ImportError:
 
 install_requires.extend([
     "python-dateutil",
+    "mailer",
     "anyjson",
     "carrot>=0.10.4",
     "django-picklefield",