Вы можете использовать send_mass_mail
Пример:
from django.contrib.auth import get_user_model
from django.core.mail import send_mass_mail
all_users = get_user_model().objects.all()
data = [
("Subject", "Message", "from@yourdomain.com", [user.email]
for user in all_users
]
send_mass_mail(data)
Если у вас есть несколько пользователей, это обычно довольно наивный подход и может внесите свой почтовый сервер в черный список, если вы не знаете, что делаете. Если вы делаете массовую рассылку, вы должны использовать почтовый сервис, такой как mailgun, sendgrid и т. Д. c.
Если вы хотите отправить HTML контент, вы должны использовать send_mail
вместо:
from django.contrib.auth import get_user_model
from django.core.mail import send_mail
all_users = get_user_model().objects.all()
for user in all_users:
send_mail(
"Subject",
"Text message",
"from@yourdomain.com",
[user.email],
html_message="<p>HTML message</p>",
)
Но это будет более неэффективно.