Конфигурация для отправки электронных писем в Джанго: –
Смотреть мое видео на Youtube
Настройки в вашей учетной записи Gmail
- Откройте свою учетную запись электронной почты в браузере
- Перейти к ‘Управляйте своей учетной записью Google’
- Перейдите на вкладку «Безопасность» в левой боковой панели
- Включите кнопку Toggle в «менее защищенном App Access» на вкладке «Безопасность».
settings.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 email id' EMAIL_HOST_PASSWORD = 'password'
Проект/URLS.PY.
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('main.urls')), ]
приложение/URLS.PY.
from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), path('send_mail/', views.sendMail, name='send_mail') ]
views.py
from django.shortcuts import render, redirect from django.conf import settings from django.core.mail import send_mail from django.contrib import messages # Create your views here. def home(request): return render(request, 'home_page.html') def sendMail(request): if request.method == 'POST': sender = settings.EMAIL_HOST_USER receiver = request.POST['receiver'] subject = request.POST['sub'] content = request.POST['content'] mail = send_mail(subject, content, sender, [receiver], fail_silently=False) if mail: messages.success(request, 'Email has been sent.') return redirect('home') else: return HttpResponse('message not sent') else: return redirect('home')
Шаблоны/home.html.
Sending Email in Django Sending Email in Django
{% if messages %} {% for message in messages %}{{message}}{% endfor %} {% endif %}
Оригинал: “https://dev.to/madhubankhatri/sending-emails-in-django-2b22”