![Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fthumbnails%2F2023%2F02%2F04%2Fimage-ed8baf71f7.png&w=3840&q=75)
Django Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22
В этой статье мы рассмотрим работу с почтой в Django через SMTP сервер. Отправка писем нам необходима для восстановления пароля, для отправки писем активации, а также для какой-либо рассылки.
В статье я рассмотрю два примера с Yahoo и Google. Они подходят как для англоязычного трафика, так и для русскоязычного.
Регистрация в Yahoo
Для работы с почтой и получения ключей нам необходимо сначала зарегистрироваться на сайте Yahoo :
![Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F02%2F04%2F972e9aef26-uploaded-image.jpg&w=3840&q=75)
На скриншоте примерные данные, вы вводите свои, которые вам необходимы.
После регистрации переходим в настройки нашего аккаунта:
![Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F02%2F04%2Fd201b57f11-uploaded-image.jpg&w=3840&q=75)
Далее в безопасность учетной записи и делаем двухэтапную проверку. После этого, мы должны создать пароль для нашего Django проекта.
![Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F02%2F04%2F40da5c3cbb-uploaded-image.jpg&w=3840&q=75)
Создаем пароль введя название нужного приложения, в моем случае это Notehunter (другой мой сайт). Нажимаем создать пароль и получаем его.
![Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F02%2F04%2F2e36e9fbdc-uploaded-image.jpg&w=3840&q=75)
Настройка settings.py для Yahoo
Далее нам необходимо настроить конфигурацию Django, для этого перейдем в файл settings.py нашего проекта и в самый низ вставим следующий фрагмент свойств:
# Email settings
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.mail.yahoo.com'
EMAIL_PORT = '465'
EMAIL_USE_SSL = True
EMAIL_HOST_USER = 'ad.notehunter@yahoo.com'
EMAIL_HOST_PASSWORD = 'qkpipbudmjqhbvbj'
EMAIL_SERVER = EMAIL_HOST_USER
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
EMAIL_ADMIN = ['notedeveloper@bk.ru']
Применяемые свойства:
EMAIL_HOST
- представитель услуг (Yahoo)EMAIL_PORT
- порт SMTP для Yahoo - 465EMAIL_USE_SSL
- использовать защищенное соединениеEMAIL_HOST_USER
- наш email адресEMAIL_HOST_PASSWORD
- наш полученный пароль для приложенияEMAIL_SERVER
- email сервераDEFAULT_FROM_EMAIL
с какого адреса будут отправляться письмаEMAIL_ADMIN
- ваш главный email, куда будут все данные приходить с сайта.
Почта на Yahoo SMTP настроена.
Регистрация в Google
Нам необходимо зарегистрировать почту в Gmail .
![Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F02%2F04%2F013d3c134a-uploaded-image.jpg&w=3840&q=75)
Я регистрировал аккаунт для личного пользования, данные на скриншоте как пример.
Переходим к нашему созданному gmail аккаунту, и переходим в безопасность, находим двухэтапную защиту, и делаем ее.
![Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F02%2F04%2Fc50087738e-uploaded-image.jpg&w=3840&q=75)
Обязательно выбираем аутентификация через приложение, и подтверждение через телефон. Это необходимо, чтоб наш аккаунт не забанили.
![Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F02%2F04%2F58186be9d1-uploaded-image.jpg&w=3840&q=75)
Скачать Authenticator можно на ваш смартфон: Google Play Market | App store
Сделали двухэтапную аутентификацию? Приступаем к получению пароля для Django.
![Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F02%2F04%2F11c11aeefa-uploaded-image.jpg&w=3840&q=75)
![Django База [2023]: Настройка почты для отправки писем через SMTP ✉️ #22](/_next/image?url=https%3A%2F%2Fproghunter.ru%2Fmedia%2Fimages%2Fuploads%2F2023%2F02%2F04%2Fdb445f2f2a-uploaded-image.jpg&w=3840&q=75)
Вводим название нашего приложения, жмем создать и получаем наш пароль.
Настройка settings.py для Google
А теперь идем настраивать аккаунт в settings.py нашего проекта:
# Email settings
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = '587'
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'ad.notehunter@gmail.com'
EMAIL_HOST_PASSWORD = 'tfgipysvmjqxjvbi'
EMAIL_SERVER = EMAIL_HOST_USER
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
EMAIL_ADMIN = ['notedeveloper@bk.ru']
Свойства для Google:
EMAIL_USE_TLS
: Обратите внимание, что вместоEMAIL_USE_SSL
мы используемEMAIL_USE_TLS
.EMAIL_PORT
порт для гугла 587.EMAIL_HOST
- smtp.gmail.com Остальное все тоже самое, как и с Yahoo
На этом настройка завершена! Можете тестировать свои функции для отправки писем с сайта, но а я добавлю уроки по отправке письма активации после регистрации, а также добавлю возможность восстановить забытый пароль.