mail.py 765 B

123456789101112131415161718192021222324
  1. from mailer import Message, Mailer
  2. from celery.loaders import load_settings
  3. def mail_admins(subject, message, fail_silently=False):
  4. """Send a message to the admins in settings.ADMINS."""
  5. settings = load_settings()
  6. if not settings.ADMINS:
  7. return
  8. to = ", ".join(admin_email for _, admin_email in settings.ADMINS)
  9. username = settings.EMAIL_HOST_USER
  10. password = settings.EMAIL_HOST_PASSWORD
  11. message = Message(From=settings.SERVER_EMAIL, To=to,
  12. Subject=subject, Message=message)
  13. try:
  14. mailer = Mailer(settings.EMAIL_HOST, settings.EMAIL_PORT)
  15. username and mailer.login(username, password)
  16. mailer.send(message)
  17. except Exception:
  18. if not fail_silently:
  19. raise