Domanda

Voglio inviare e -mail ai membri del mio sito che devono partecipare a una riunione (ad es. Ospiti), ognuno con (lo stesso) allegato PDF. Lo sto facendo con la funzionalità di posta elettronica integrata di Django, in connection.send_messages(messages). Al momento sto facendo questo:

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()

Ora, quando lo faccio in questo modo, lo stesso file PDF verrà caricato per ogni e -mail, allegato separatamente, quindi inviato separatamente per ogni e -mail, come se fosse PDF diversi. Se il file è 10 MB, quel 10 MB verrà caricato sul mio server di posta per ogni singolo ospite, dove avrebbe potuto essere solo una volta.

Quindi la domanda è: È possibile allegare un file a tutte le e -mail contemporaneamente, anche caricandolo solo una volta? O sto semplicemente facendo male?

AGGIORNARE:

Se cambio la riga di allegato in quanto segue:

msg.attach_file(os.path.join(settings.MEDIA_ROOT, 'uploads/flyer.pdf'))

Questo risolverebbe il mio problema?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top