gpt4 book ai didi

django - 如何在 Django 中向 10,000 个用户发送电子邮件?

转载 作者:行者123 更新时间:2023-12-04 10:20:41 27 4
gpt4 key购买 nike

我的 Django 应用程序有 10,000 个用户,所有用户都有电子邮件。我想向他们所有人发送一封电子邮件,比如每月一次。此消息可能有一些 pdf 附件。

我尝试过的是使用 EmailMessage 对象向所有人发送电子邮件。在发送之前,我将所有用户的电子邮件地址添加到此 EmailMessage 的密件抄送组件中。

        recList = []
for recipient in rec:
reci = str.strip(str(recipient))
recList.append(reci)
message = (form.cleaned_data['subject'], form.cleaned_data['message'], 'emailAdmin@yahoo.com', recList)
mail = EmailMessage(form.cleaned_data['subject'], form.cleaned_data['message'], 'email_manager@mysite.org', ['email_list@mysite.org'], recList)
num_attachments = 0
if form.cleaned_data['attachment'] != None:
email_attachment = EmailAttachment(
document_name = form.cleaned_data['attachment'].name,
email_message = email,
document = form.cleaned_data['attachment'],
)
email_attachment.save()
mail.attach_file(settings.MEDIA_ROOT + "/" + email_attachment.document.name)
mail.send(fail_silently=False)

但是,当我发送电子邮件时,Django 提示“连接已重置”并且没有发送。我假设服务器连接已关闭。

在 Django 中发送大量电子邮件的有效方法是什么?会 send_mass_mail()更有效?

最佳答案

您应该使用 send_mass_mail因为它不会每次都关闭连接。 docs

我还将消息分成大约 100-1,000 条的组,具体取决于您的服务器的功能。原因是您可以在较小的组中捕获错误以进行重试。这也会导致每个收件人有单独的电子邮件,这是理想的。密件抄送数千人并不是很好。

关于django - 如何在 Django 中向 10,000 个用户发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8659131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com