私の Django アプリケーションには 10,000 人のユーザーがいて、全員がメールを使用しています。月に一度、全員に電子メール メッセージを送信したいと思います。このメッセージにはいくつかの PDF ファイルが添付されている可能性があります。
私が試したのは、EmailMessage オブジェクトを使用して、それらすべてに電子メールを送信することです。送信する前に、この EmailMessage の bcc コンポーネントにすべてのユーザーの電子メール アドレスを追加します。
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()
より効果的でしょうか?