Когда использовать API против SMTP в Django
Можно ли использовать API для замены SMTP для отправки почты в Django, особенно для таких вещей, как сброс пароля и подтверждение почты.
Я буду очень рад, если смогу получить разъяснения по одной теме в django. Я новичок в django и когда дело доходит до отправки почты, я регистрируюсь на Mailgun и использую API, так как я использовал запросы раньше, но собирая django для работы, я пытаюсь сделать регистрацию пользователей, используя DJ-Rest-auth и django_allauth, и есть кое-что о настройке почтового бэкенда, используя SMTP.
мой вопрос таков
- Могу ли я обойтись без использования SMTP для django_allauth если Да рабочий процесс как подключить мой сброс пароля к использованию api для почты.
- Я могу легко передать функцию mail, чтобы она служила оповещением в представлениях, когда пользователь регистрируется .
Вам не следует писать свою собственную функцию отправки почты, вы всегда должны использовать встроенную функцию send_mail
(или связанную с ней) Django , и настроить пользовательский почтовый бэкенд в настройках.
Если вам нужно изменить способ отправки писем, вы можете написать свой собственный почтовый бэкенд. Параметр
EMAIL_BACKEND
в вашем файле настроек является путем импорта Python для вашего класса бэкенда.https://docs.djangoproject.com/en/3.2/topics/email/#defining-a-custom-email-backend
.
Django может автоматически отправлять различные электронные письма в различных обстоятельствах, поэтому централизация этой конфигурации, чтобы все отправки писем использовали ваши настроенные параметры отправки почты, очень важна, если у вас нет особых причин против этого.
Учитывая, что это такая подключаемая архитектура, а Django и Mailgun популярны, существуют существующие модули, которые позволяют отправлять электронную почту через Mailgun с помощью такого простого изменения конфигурации: https://djangopackages.org/grids/g/email/