2016-07-21 9 views
1

Ich versuche, eine E-Mail mit einem Anhang in Django zu senden. Datei ist request.FILE['file'] Objekt (InMemoryUploadedFile-Typ). Ich erstelle eine Nachricht von EmailMessage(...) und dann Datei an anhängen.'InMemoryUploadedFile' Objekt hat kein Attribut 'encode'

E-Mail senden mit bestimmten Fehler fehl: 'InMemoryUploadedFile' object has no attribute 'encode'

+1

also, irgendwelche Fortschritte hier? – waterkinq

Antwort

0

Dieser arbeitete für mich in einer Formulardefinition in forms.py

from django.core.mail import EmailMultiAlternatives 

email = EmailMultiAlternatives(
    subject='some subject', 
    from_email='[email protected]_domain.com', 
    to=['[email protected]_domain.com'], 
    body='some html content') 
email.content_subtype = "html" 
if hasattr(self.files, 'getlist'): 
    files = self.files.getlist('document[]') 
    for _file in files: 
     _file.open() 
     email.attach(_file.name, _file.read(), _file.content_type) 
     _file.close() 
email.send() 

Wo documents[] der Name des Eingangs HTML-Tag ist:

<input name="document[]" id="file" type="file">

Verwandte Themen