2016-09-08 3 views
1

Ich habe eine Django App auf Google Compute Engine gehostet (die Port 25/465/587 nicht erlaubt, E-Mails zu senden). Also habe ich ein E-Mail-System von Drittanbietern in die Django App integriert. E-Mail-System von Drittanbietern funktioniert auch bei Google Compute Engine.Verwenden von Drittanbieter-E-Mail-System für Django Password Reset

Aber wenn ich Django Reset Password verwende, wird diese E-Mail immer noch vom Django Default Email System gesendet. Kann dieses Django Standard E-Mail-System für das Zurücksetzen des Kennworts geändert werden?

Wenn ja, kann jemand bitte erklären, wie es geändert werden kann?

Danke,

Antwort

2

ist es so etwas wie Email backends

# settings.py 
EMAIL_BACKEND = 'project.backends.mail.CustomEmailBackend' 

# project/backends/mail.py 
from django.core.mail.backends.base import BaseEmailBackend 
class CustomEmailBackend(BaseEmailBackend): 
    def send_messages(self, messages): 
     for message in messages: 
      # do the stuff with each message 
      print(message.subject, message.body, message.to, message.cc) 

Remeber diesen Pfad in EMAIL_BACKEND Variable punktiert in settings.py muss gleich wo Ihre CustomEmailBackend-Klasse im Projekt-Ordner-Struktur sein.

Jede message hat die gleiche properties. Natürlich send_mail von django.core.mail funktioniert wie gewohnt, aber verwenden Sie Ihre CustomEmailBackend zum Senden von E-Mails.

+0

Mit diesem Code würde alles andere gleich bleiben, außer der E-Mail-Versand durch Dritte? – Naveen

+0

@ Naveen korrekt. – turkus

+0

und wo diese CustomEmailBackend() - Klasse definiert werden soll? – Naveen

Verwandte Themen