Django 6.1 introduces a new MAILERS configuration system that lets you configure multiple email providers from a single settings file instead of relying on one default email backend.
If your application only uses one email provider today, nothing breaks. Django 6.1 still supports the existing EMAIL_BACKEND and related EMAIL_* settings. However, those settings are now deprecated and will be replaced by the new MAILERS configuration in Django 7.0.
The new configuration is most useful if you send different types of email through different third-party SMTP providers, such as Amazon SES, SendGrid, and Mailgun. You can define each email backend separately and choose which one to use when sending a message instead of relying on a single global configuration.
Django has also deprecated several email APIs, including mail.get_connection(), the connection argument in email sending functions, fail_silently, and the auth_user and auth_password arguments. If your application still relies on these APIs, you’ll need to update your code before moving to Django 7.0.
If you want to switch to MAILERS now, Django recommends starting by replacing your existing EMAIL_* settings with a new MAILERS configuration that includes a default mailer. Then check that any third-party packages you use are compatible with MAILERS, enable deprecation warnings to identify outdated email code, and update deprecated APIs such as mail.get_connection() and the connection argument to use the new using argument instead. More details about the migration process are available on this page.
Read more about Django 6.1’s new features.
