Important updates
- Breaking change: Drop support for deprecated WEBHOOK_AUTHORIZATION setting. If you are using webhooks and still have this Anymail setting, you must rename it to WEBHOOK_SECRET. See the v1.4 release notes.
New features
- SendinBlue: Add new ESP (docs). Thanks to @RignonNoel for the implementation.
- Add EmailMessage
envelope_sender
attribute, which can adjust the message's Return-Path if supported by your ESP (docs). - Add universal wheel to PyPI releases for faster installation.
Other changes
- Handle Reply-To, From, and To in EmailMessage
extra_headers
the same as Django's SMTP EmailBackend if supported by your ESP, otherwise raise an unsupported feature error. Fixes the SparkPost backend to be consistent with other backends if bothheaders["Reply-To"]
andreply_to
are set on the same message. If you are setting a message'sheaders["From"]
orheaders["To"]
(neither is common), the new behavior is likely a breaking change. See docs and #91. - Treat EmailMessage
extra_headers
keys as case-insensitive in all backends, for consistency with each other (and email specs). If you are specifying duplicate headers whose names differ only in case, this may be a breaking change. See docs. - Update setup.py metadata, clean up implementation. (Hadn't really been touched since original Djrill version.)
- Prep for Python 3.7.