Прежде всего добавьте в settings.py вашего проекта:
# EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
В случае если вы хотите использовать отправку почты в тестовом режиме (в консоли), раскомментируйте первую строку.
Отправка почты в Django осуществляется с помощью send_mail, документация более-чем исчерпывающая.
Теперь перейдем к особенностям настройки отправки почты для разных почтовых служб.
Важный момент Раньше для отправки почты было необходимо указывать ваш пароль от ящика, теперь необходимо в настройках вашего почтового провайдера создать т.н. App Password, это сделано в целях безопасности. Если вы укажете пароль от вашей почты в send_mail(), то ничего не будет работать. Как это сделать для Mail.ru, Gmail и Яндекс.
Непосредственно настройки:
Gmail
EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_USE_TLS = True EMAIL_USE_SSL = False EMAIL_HOST_USER = 'your@gmail.com' EMAIL_HOST_PASSWORD = 'app_password'
Яндекс
EMAIL_HOST = 'smtp.yandex.ru' EMAIL_PORT = 465 EMAIL_USE_TLS = False EMAIL_USE_SSL = True EMAIL_HOST_USER = 'your@yandex.ru' EMAIL_HOST_PASSWORD = 'app_password'
Mail.ru
EMAIL_HOST = 'smtp.mail.ru' EMAIL_PORT = 2525 EMAIL_USE_TLS = True EMAIL_USE_SSL = False EMAIL_HOST_USER = 'your@mail.ru' EMAIL_HOST_PASSWORD = 'app_password'
Рекомендую хранить настройки в .env файле.