email.py 884 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. from django.core.mail import send_mail
  2. from django.conf import settings
  3. from django.contrib.auth.models import User
  4. '''
  5. '''
  6. def send_email(message, username=None, to_admins=False, only_admins=False):
  7. if not username:
  8. return False
  9. if not settings.SEND_EMAIL:
  10. return False
  11. users = User.objects.all()
  12. mails = []
  13. if not only_admins:
  14. user = users.get(username=username)
  15. if user:
  16. mails.append(user.email)
  17. if to_admins or only_admins:
  18. for admin in users.filter(is_superuser=True).exclude(username=username).all():
  19. if admin.email in mails:
  20. continue
  21. mails.append(admin.email)
  22. if len(mails) == 0:
  23. return False
  24. send_mail(
  25. settings.SYSTEM_NAME,
  26. message,
  27. settings.EMAIL_FROM,
  28. mails
  29. )
  30. return True