@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 можно рассмотреть как альтернативу.
Оба метода имеют свои преимущества и недостатки, выбирайте подходящий вариант исходя из особенностей вашего проекта.