eusend
SMTP

Django SMTP

Configure Django's email backend to send through eusend over SMTP — password resets, notifications, and any send_mail call, DKIM-signed and tracked.

Django's SMTP email backend works with eusend out of the box — no extra packages. Set five settings and every send_mail, EmailMessage, password-reset, and django.contrib.auth email routes through eusend, DKIM-signed and tracked.

settings.py

settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.eusend.dev'
EMAIL_PORT = 465
EMAIL_USE_SSL = True          # implicit TLS — not EMAIL_USE_TLS
EMAIL_HOST_USER = 'eusend'    # always the literal string "eusend"
EMAIL_HOST_PASSWORD = os.environ['EUSEND_API_KEY']  # eu_live_…

# Must be an address on a domain verified in eusend
DEFAULT_FROM_EMAIL = 'Acme <[email protected]>'

Use EMAIL_USE_SSL = True (implicit TLS on port 465), not EMAIL_USE_TLS. Setting both raises ValueError: EMAIL_USE_TLS/EMAIL_USE_SSL are mutually exclusive.

Send an email

from django.core.mail import send_mail

send_mail(
    subject='Your order has shipped',
    message='Order #1234 is on its way.',
    from_email=None,                      # falls back to DEFAULT_FROM_EMAIL
    recipient_list=['[email protected]'],
    html_message='<p>Order #1234 is on its way.</p>',
)

Test it from the shell without touching a view:

python manage.py shell -c "from django.core.mail import send_mail; \
send_mail('Test', 'Body', None, ['[email protected]'])"

Connection reference

SettingValue
EMAIL_HOSTsmtp.eusend.dev
EMAIL_PORT465 (or 2465)
EMAIL_USE_SSLTrue
EMAIL_HOST_USEReusend
EMAIL_HOST_PASSWORDyour eusend API key (eu_live_…)
DEFAULT_FROM_EMAILan address on a verified domain

Use an eu_test_ key while developing — sends are accepted and tracked but never delivered. See the SMTP overview for limits and status codes.