Я хочу отправлять электронные письма участникам моего сайта, которые должны присутствовать на собрании (например, гости), каждое с (одинаковым) вложением в формате 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-файлы.Если размер файла составляет 10 МБ, эти 10 МБ будут загружены на мой почтовый сервер для каждого гостя, где это могло быть только один раз.
Итак, вопрос : можно ли прикрепить файл ко всем электронным письмам одновременно, тем самым загрузив его только один раз?Или я просто делаю это неправильно?
ОБНОВЛЕНИЕ :
Если я изменю строку подключения следующим образом:
msg.attach_file(os.path.join(settings.MEDIA_ROOT, 'uploads/flyer.pdf'))
будет ли эторешить мою проблему?