В Python есть встроенный SMTP модуль передачи почты, Django просто инкапсулируется На этом основании мы можем сделать его более простым и гибким для отправки почты в среде Django.
Все функции django.core.mail в.
Простой пример записи
1. Конфигурация
Во-первых получить код авторизации почтового ящика (Сина почты, например)
Тогда settings.py конфигурация
= EMAIL_BACKEND ' django.core.mail.backends.smtp.EmailBackend ' EMAIL_HOST = ' smtp.sina.com ' # средних "син" чтение почтовой службы вы используете EMAIL_PORT = 465 EMAIL_HOST_USER = ' Учетные записи электронной почты ' EMAIL_HOST_PASSWORD = " разрешение CODE ' EMAIL_USE_SSL = Правда DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
„“ " EMAIL_USE_TLS EMAIL_USE_SSL и по умолчанию установлено значение False, то один должен быть настроен верно, но не оба установить в True. Обычно порт 587 , соответствующий TLS, порт 465 соответствует SSL (арматурная TSL) «» "
2. Маршрутизация
от django.urls импорта путь от электронной почты импорта просмотров urlpatterns = [ путь ( ' администратора / ' , admin.site.urls), путь ( ' send_email / ' , views.send_email) ]
3. вид
от myemail Импорт настроек из в django.core.mail Импорт EmailMultiAlternatives # Это может отправить HTML, если только отправить текст, можно ввести send_mail DEF SEND_EMAIL (Request): Тематическая = « Тестовое сообщение » # сообщение Заголовок FROM_EMAIL = settings.EMAIL_HOST_USER # отправитель электронная почта для = « [email protected] » # почтового ящика получателя TEXT_CONTENT = « Если вы видите это сообщение, объясните ваш почтовый сервер не предоставляет HTML ссылки функция » # заменить содержимое почтового ящика , если цель не может принимать HTML html_content = "<a href='http://www.baidu.com'> поиск </a> " # HTML почты содержание сообщ = EmailMultiAlternatives (Subject, TEXT_CONTENT, FROM_EMAIL, [к]) msg.attach_alternative (html_content, " текст / HTML « ) # для почтового связывания содержимого HTML mag.send () возвращают HttpResponse ( » сообщение было отправлено ' )