Skip to content
This repository has been archived by the owner on Jul 20, 2020. It is now read-only.

Latest commit

 

History

History
38 lines (26 loc) · 1.62 KB

multiple_backends.rst

File metadata and controls

38 lines (26 loc) · 1.62 KB

Mixing Email Backends

Since you are replacing Django's global EMAIL_BACKEND, by default Djrill will handle all outgoing mail, sending everything through Mandrill.

You can use Django mail's optional connection <django.core.mail.get_connection> argument to send some mail through Mandrill and others through a different system.

This could be useful, for example, to deliver customer emails with Mandrill, but send admin emails directly through an SMTP server:

from django.core.mail import send_mail, get_connection

# send_mail connection defaults to the settings EMAIL_BACKEND, which
# we've set to DjrillBackend. This will be sent using Mandrill:
send_mail("Thanks", "We sent your order", "sales@example.com", ["customer@example.com"])

# Get a connection to an SMTP backend, and send using that instead:
smtp_backend = get_connection('django.core.mail.backends.smtp.EmailBackend')
send_mail("Uh-Oh", "Need your attention", "admin@example.com", ["alert@example.com"],
    connection=smtp_backend)

You can supply a different connection to Django's ~django.core.mail.send_mail and ~django.core.mail.send_mass_mail helpers, and in the constructor for an ~django.core.mail.EmailMessage or ~django.core.mail.EmailMultiAlternatives.

(See the django.utils.log.AdminEmailHandler docs for more information on Django's admin error logging.)