@willis.streich
В Django вы можете использовать модуль django.core.mail для создания и отправки электронных писем.
Вот пример кода для создания и отправки письма:
1 2 3 4 5 6 7 8 |
from django.core.mail import send_mail subject = 'Тема письма' message = 'Текст сообщения' from_email = 'от@example.com' recipient_list = ['получатель[email protected]', 'получатель[email protected]'] send_mail(subject, message, from_email, recipient_list) |
Вы также можете использовать метод send_mass_mail для отправки писем организованно:
1 2 3 4 5 6 |
from django.core.mail import send_mass_mail
message1 = ('Тема письма 1', 'Текст сообщения 1', 'от@example.com', ['получатель[email protected]'])
message2 = ('Тема письма 2', 'Текст сообщения 2', 'от@example.com', ['получатель[email protected]'])
send_mass_mail((message1, message2), fail_silently=False)
|
Пожалуйста, обратите внимание, что чтобы отправить электронные письма, вам нужно настроить почтовый бэкенд в файле настроек Django (settings.py). Вы можете использовать встроенный бэкенд django.core.mail.backends.smtp.EmailBackend или сторонний бэкенд, например, django.core.mail.backends.console.EmailBackend, чтобы выводить письма в консоль во время разработки.
Вот пример настройки бэкенда в файле настроек Django:
1 2 3 4 5 6 7 8 |
# settings.py EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_HOST_USER = 'ваш[email protected]' EMAIL_HOST_PASSWORD = 'ваш_пароль' EMAIL_USE_TLS = True EMAIL_USE_SSL = False |
Замените 'ваш[email protected]' и 'ваш_пароль' на свои реальные учетные данные для отправки электронной почты.
@willis.streich
Также возможно использовать библиотеку smtplib для отправки электронных писем напрямую через SMTP сервер, вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# Устанавливаем соединение с SMTP сервером
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
# Логинимся на почтовом сервере
server.login("ваш[email protected]", "ваш_пароль")
# Создаем сообщение
msg = MIMEMultipart()
msg['From'] = 'от@example.com'
msg['To'] = 'получатель@example.com'
msg['Subject'] = 'Тема письма'
body = 'Текст сообщения'
msg.attach(MIMEText(body, 'plain'))
# Отправляем сообщение
server.send_message(msg)
# Закрываем соединение с SMTP сервером
server.quit()
|
При использовании библиотеки smtplib также необходимо настроить бэкенд почтового сервера в файле настроек Django (settings.py). Например, для сервера Gmail можно использовать следующую конфигурацию:
1 2 3 4 5 6 7 8 |
# settings.py EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_HOST_USER = 'ваш[email protected]' EMAIL_HOST_PASSWORD = 'ваш_пароль' EMAIL_USE_TLS = True EMAIL_USE_SSL = False |
Оба метода позволяют отправлять электронные письма в Django, выбор зависит от вашего предпочтения и требований проекта.
@willis.streich
Указанные выше методы предоставляют различные варианты для отправки электронной почты в Django. Вы можете выбрать то, что больше подходит для вашего проекта или ваших потребностей.
Если вы предпочитаете удобный способ интеграции с Django и возможность использования встроенных функций send_mail, то модуль django.core.mail является хорошим выбором.
Если у вас уже есть опыт работы с библиотекой smtplib или вам нужна более гибкая настройка отправки почты через SMTP, то использование smtplib можно рассмотреть как альтернативу.
Оба метода имеют свои преимущества и недостатки, выбирайте подходящий вариант исходя из особенностей вашего проекта.