Hinzufügen von Kopfzeilen zu Django EmailMultiAlternatives

9

In der Dokumentation von Django EmailMultiAlternatives gibt es nichts darüber, wie man Header wie "Format" oder " Antwort an "in EmailMultiAlternatives . Es hat eine Weile gedauert, bis ich es herausgefunden habe und ich sende diesen Beitrag, um anderen zu helfen, ihre Zeit zu sparen.

Wie Sie im Quellcode von django sehen können, erbt EmailMultiAlternatives von EmailMessage , also nehmen sie die gleichen Parameter im init-Konstruktor an. Auf diese Weise können wir Header hinzufügen wie:

%Vor%     
1man 30.03.2015, 18:45
quelle

1 Antwort

0

Zurück im Jahr 2015 beschwerte sich OP, dass es keine Anweisungen in der Dokumentation gab, wie man Header wie "Format" und "Reply-To" in Django mail (django.core.mail) hinzufügt. Heute jedoch, während Sie den gleichen Dokumentationslink verwenden. Wir können Beschreibung und Beispiele in 2018 leicht finden:

  

Klasse EmailMessage [ Quelle ]

     

Die EmailMessage Klasse wird mit den folgenden Parametern initialisiert   ( in der angegebenen Reihenfolge, wenn Positionsargumente verwendet werden ). Alle Parameter   sind optional und können jederzeit vor dem Aufruf von send() gesetzt werden   Methode.

     
  • Betreff : Die Betreffzeile der E-Mail.
  •   
  • body : Der Nachrichtentext. Dies sollte eine Klartextnachricht sein.
  •   
  • from_email : Die Adresse des Absenders. Die beiden Formulare [email protected] und Fred <[email protected]> sind zulässig. Wenn nicht angegeben, die DEFAULT_FROM_EMAIL   Einstellung wird verwendet.
  •   
  • zu : Eine Liste oder ein Tupel von Empfängeradressen.
  •   
  • bcc : Eine Liste oder ein Tupel von Adressen, die beim Senden der E-Mail im Header "Bcc" verwendet werden.
  •   
  • Verbindung : Eine E-Mail-Backend-Instanz. Verwenden Sie diesen Parameter, wenn Sie dieselbe Verbindung für mehrere Nachrichten verwenden möchten. Wenn nicht angegeben, a   Neue Verbindung wird erstellt, wenn send() aufgerufen wird.
  •   
  • Anhänge : Eine Liste von Anhängen zum Einfügen der Nachricht. Dies können entweder email.MIMEBase.MIMEBase Instanzen sein, oder (filename, content, mimetype) Tripel.
  •   
  • headers : Ein Wörterbuch mit zusätzlichen Headern zum Einfügen der Nachricht. Die Schlüssel sind der Kopfzeilenname, Werte sind die Kopfzeilenwerte. Es liegt an der   Aufrufer, um sicherzustellen, dass Header-Namen und Werte im richtigen Format vorliegen   eine E-Mail-Nachricht. Das entsprechende Attribut ist extra_headers .
  •   
  • cc : Eine Liste oder ein Tupel von Empfängeradressen, die beim Senden der E-Mail im Header "Cc" verwendet werden.
  •   

Zum Beispiel:

%Vor%

Wie aus Beispielen hervorgeht, hat EmailMessage auch headers argument ( dictionary ), EmailMultiAlternatives entsprechend dem Docstring in Quellencode ist:

%Vor%

Wenn Sie also nichts Bestimmtes benötigen, ist EmailMessage in Ordnung, weil EmailMultiAlternatives derzeit für die einfache Einbindung von Text- und HTML-Versionen von Text steht.

    
Lycopersicum 15.01.2018 17:56
quelle

Tags und Links