Как сделать рассылку email в django?

Пользователь

от willis.streich , в категории: Python , 2 месяца назад

Как сделать рассылку email в django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от marshall.cummings , 2 месяца назад

@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]' и 'ваш_пароль' на свои реальные учетные данные для отправки электронной почты.