Login

send_mail wrapper with DEBUG email trapping

Author:
udfalkso
Posted:
February 20, 2010
Language:
Python
Version:
1.1
Tags:
email debug testing mail intercept trap
Score:
1 (after 1 ratings)

By using this simple wrapper instead of Django's default send_mail function, you gain the peace of mind of knowing that when settings.DEBUG == True, all the emails will be sent to you instead of the original recipient. Handy for testing.

1
2
3
4
5
6
7
8
from django.core.mail import send_mail as django_send_mail
from django.conf import settings

def send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None):
    if settings.DEBUG:
        message = "%s\n\n=========== DEBUG Email Intercepted =============\nOriginal Recipients: %s" % (message, ",".join(recipient_list))
        recipient_list = [settings.SERVER_EMAIL]
    django_send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None)

More like this

  1. Email backend to BCC all emails by maikhoepfel 1 year, 7 months ago
  2. Testing Email Registration by osborn.steven 6 years, 2 months ago
  3. ReportBug() with tons of debug in mail by sleepycal 4 years, 7 months ago
  4. Testing email sending by monikasulik 3 months ago
  5. format output as table by bendavis78 5 years, 10 months ago

Comments

Please login first before commenting.