Browse Source

Sending of error e-mails was not working

Ask Solem 14 years ago
parent
commit
385bb85517
2 changed files with 13 additions and 5 deletions
  1. 13 4
      celery/loaders/base.py
  2. 0 1
      celery/utils/mail.py

+ 13 - 4
celery/loaders/base.py

@@ -1,5 +1,6 @@
 import importlib
 import re
+import warnings
 
 import anyjson
 
@@ -117,10 +118,18 @@ class BaseLoader(object):
             sender=None, to=None, host=None, port=None,
             user=None, password=None):
         from celery.utils import mail
-        message = mail.Message(sender=sender, to=to,
-                               subject=subject, body=message)
-        mailer = mail.Mailer(host, port, user, password)
-        mailer.send(message, fail_silently=fail_silently)
+        try:
+            message = mail.Message(sender=sender, to=to,
+                                    subject=subject, body=message)
+            mailer = mail.Mailer(host, port, user, password)
+            mailer.send(message)
+        except Exception, exc:
+            if not fail_silently:
+                raise
+            warnings.warn(mail.SendmailWarning(
+                "Mail could not be sent: %r %r" % (
+                    exc, {"To": to, "Subject": subject})))
+
 
     @property
     def conf(self):

+ 0 - 1
celery/utils/mail.py

@@ -1,6 +1,5 @@
 import sys
 import smtplib
-import warnings
 
 try:
     from email.mime.text import MIMEText