3
我想發送電子郵件給我的網站會員參加會議(即客人),每個會議都有相同的PDF附件。我正在用Django的內置批量電子郵件功能執行此操作,格式爲connection.send_messages(messages)
。目前,我這樣做:使用相同的附件發送在Django的批量電子郵件
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將會上傳到我的郵件服務器上,這個郵件服務器可能只有一次。
所以問題是:是否有可能將文件一次附加到所有電子郵件,因此也只能上傳一次?或者我只是簡單地做錯了?
UPDATE:
如果我改變連接線以下:
msg.attach_file(os.path.join(settings.MEDIA_ROOT, 'uploads/flyer.pdf'))
將是解決我的問題?
嗯,好的。感謝您的期待,我只是懶得打開它自己:)你能想出任何解決這個問題的方法嗎? – 2011-05-08 21:21:52
不,但您可能要考慮使用鏈接而不是實際附件。 – zeekay 2011-05-08 21:25:24
是的,在這種情況下,這不是一個真正的選項:( – 2011-05-08 21:27:53