Anymail: Django email backends for Mailgun, Postmark, SendGrid and more¶
This project is undergoing rapid development to get to a 1.0 release. Before 1.0, minor version bumps might include breaking changes. Please check the release notes
Anymail integrates several transactional email service providers (ESPs) into Django, with a consistent API that lets you use ESP-added features without locking your code to a particular ESP.
It currently fully supports Mailgun, Postmark, and SendGrid, and has limited support for Mandrill.
Anymail normalizes ESP functionality so it “just works” with Django’s
django.core.mail package. It includes:
- Support for HTML, attachments, extra headers, and other features of Django’s built-in email
- Extensions that make it easy to use extra ESP functionality, like tags, metadata, and tracking, with code that’s portable between ESPs
- Simplified inline images for HTML email
- Normalized sent-message status and tracking notification, by connecting your ESP’s webhooks to Django signals
- “Batch transactional” sends using your ESP’s merge and template features
Support is also planned for:
- Normalized inbound email processing through your ESP
Anymail is released under the BSD license. It is extensively tested against Django 1.8–1.9 (including Python 2.7, Python 3 and PyPy). Anymail releases follow semantic versioning.
- Anymail 1-2-3
- Installation and configuration
- Sending email
- Receiving inbound email
- Supported ESPs
- Tips, tricks, and advanced usage
- Release notes