Помните, когда вы подписались на приложение и получили приветственное электронное письмо или однажды забыли свой пароль и получили электронное письмо по ссылке сброса пароля. Эти мелочи добавляет вес к пользовательскому опыту.
В этой статье мы увидим, как отправлять электронные письма нашим пользователям, используя Django Framework и SMTP -сервер. Без траты ни одной минуты давай прыгнут на интересную часть.
Настройка Gmail для Django Mail API:
Чтобы использовать Google SMTP, у вас должна быть учетная запись Gmail. Следующее, что вам нужно, это включить Разрешить меньшую безопасную функцию приложения в соответствии с настройками безопасности учетной записи. Эта функция используется для обеспечения вашей учетной записи Google от приложений, которые менее безопасны для ее использования, чтобы не допустить, чтобы хакеры не смешались в вашу учетную запись.
Настройка sutres.py:
В вашем файле stens.py добавьте следующие конфигурации.
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.gmail.com' EMAIL_USE_TLS = True EMAIL_PORT = 587 EMAIL_HOST_USER = 'your gmail account' EMAIL_HOST_PASSWORD = 'your account's password' EMAIL_USE_SSL = False
Давайте поймем эти терминологии:
Email_backend: В этом настройке указывается бэкэнд, который мы будем использовать для отправки электронной почты в Джанго.
Email_host: Эта настройка состоит в том, чтобы указать поставщика услуг электронной почты.
Email_use_tls: В этом настройке указывается, использует ли электронная почта соединение TLS или нет. Это верно для Gmail.
Email_port: Это настройка по умолчанию для Gmail. Это порт, используемый SMTP -сервером.
Email_host_user: Имя учетной записи электронной почты, которая будет использоваться.
Email_host_password: Пароль учетной записи электронной почты, который будет использоваться.
Email_use_ssl: Неверно для Gmail.
ПРИМЕЧАНИЕ. Здесь виден ваш пароль, поэтому перед тем, как развернуть его, шифровать ваш пароль или поместить в файл или сервер, где есть только доступ.
Настройка Views.py:
Django предоставляет модуль с именем send_mail , что мы будем использовать для отправки электронной почты пользователям. Для Send_Mail доступно много вариантов, но для простоты мы будем использовать только 4 поля.
Тема: Он содержит предмет электронной почты
Сообщение: Он содержит тело электронного письма
email_from: Это почтовый адрес отправителя.
receent_list: Это адрес электронной почты получателя.
from django.core.mail import send_mail from django.conf import settings def mail(request): ... subject = 'your subject' message = 'your message' email_from = settings.EMAIL_HOST_USER recipient_list = ['receiver's mail address', ] return render(request,'some_page.html')
Настройка urls.py:
urlpatterns = [ path('mail', views.mail, name ='mail'), ]
С этим ваш код готов к отправке электронной почты пользователям. Все, что вам нужно сейчас, это запустить сервер и проверить, правильно ли функционируют ваши методы.
Это было для этой статьи. Спасибо за чтение.
Вы можете связаться со мной на Twitter для любых обсуждений.
Адиос.
Оригинал: “https://dev.to/shubhamkshatriya25/how-to-send-email-using-smtp-server-in-django-131f”