Documentation
Send email from Django.
Five settings in settings.py, and every send_mail call goes through Mailtruss.
Before you start
You need a verified sending domain (see Domains) and an API key (under API keys in the dashboard; it is shown once). For SMTP the key is the password, and a sending-only key is enough. Keep the key in an environment variable on your server, never in code that runs in a browser or an app.
The settings
Django's default email backend is SMTP, so only the connection settings change. The API key is the password, and any username works.
Try it without sending real mail
From python manage.py shell, send a message to the test address. It needs no verified domain and reaches no real mailbox.
See what happened
Open the message under Emails in the dashboard: it shows the recorded timeline, what each event proves, and a diagnosis if something went wrong. Mail sent over SMTP appears there like any other message. To be told as it happens, add a webhook.
If it fails
The relay answers with a reply code:
535: the API key is wrong or revoked. Fix the password.550: refused for good (unverified domain, suppressed recipient, invalid message). Do not retry; the reply says why.552: too large, or the monthly limit is reached.451or452: temporary (rate limit, daily limit, or a brief problem on our side). Retry later; mail servers do this automatically.
Problems that happen after a message is accepted (bounces, complaints) are explained under delivery errors.