diff --git a/config/settings/base.py b/config/settings/base.py index 8bef77c62c4146feed83648b7c1a2a17871ce9cf..ec4caa6519500c0d463897603444150c1043ec88 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -603,7 +603,7 @@ LOGGING = { 'propagate': True, 'level': LOG_LEVEL, }, - 'django.request': { + 'django.request': { 'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': False, diff --git a/gracedb/alerts/email.py b/gracedb/alerts/email.py index 3abeefe51080552bd0cdbaf6d8ac686db3bd3310..0ffa1f3b7bfae56bc3b21a554afaa04cdd0d18b5 100644 --- a/gracedb/alerts/email.py +++ b/gracedb/alerts/email.py @@ -3,7 +3,7 @@ import logging import textwrap from django.conf import settings -from django.core.mail import EmailMessage +from django.core.mail import EmailMessage, get_connection from django.urls import reverse from core.time_utils import gpsToUtc @@ -143,10 +143,13 @@ def issue_email_alerts(event_or_superevent, alert_type, recipients, logger.debug("Sending email to {recips}".format( recips=", ".join([r.email for r in recipients]))) - # Send mail individually so all emails are not rejected due to a single - # address being blacklisted + # Construct email messages + messages = [] for recip in recipients: - # Send email email = EmailMessage(subject=subject, body=email_body, from_email=settings.ALERT_EMAIL_FROM, to=[recip.email]) - email.send() + messages.append(email) + + # Send email messages + backend = get_connection() + backend.send_messages(messages)