ミーティングに参加する予定のサイトのメンバー (つまり、ゲスト) に、それぞれ (同じ) PDF が添付されたメールを送信したいと考えています。これは、Django に組み込まれている一括メール機能を使用して行っていますconnection.send_messages(messages)
。現時点では、私はこれをやっています:
guests = Guest.objects.all()
connection = mail.get_connection()
connection.open()
messages = []
for guest in guests:
msg = EmailMultiAlternatives(title, text_content, from_address, [guest.email], connection=connection)
msg.attach_alternative(html_content, 'text/html')
pdf_data = open(os.path.join(settings.MEDIA_ROOT, 'uploads/flyer.pdf'))
msg.attach('Invitation Card.pdf', pdf_data.read(), 'application/pdf')
pdf_data.close()
messages.append(msg)
connection.send_messages(messages)
connection.close()
今、私がこのようにすると、同じ PDF ファイルがすべての電子メールに読み込まれ、個別に添付され、あたかも別の PDF であるかのように、電子メールごとに個別に送信されます。ファイルが 10MB の場合、その 10MB は、ゲストごとに私のメール サーバーにアップロードされます。
問題は、一度にすべての電子メールにファイルを添付して、一度だけアップロードすることは可能ですか? それとも、私はそれを間違っているだけですか?
更新:
添付行を次のように変更すると:
msg.attach_file(os.path.join(settings.MEDIA_ROOT, 'uploads/flyer.pdf'))
それは私の問題を解決しますか?