2016-05-22 15 views
3

Ich versuche, E-Mails mit meiner eigenen Website einzurichten. Nehmen wir an, der Domain-Name lautet abc.com.Mailgun Domain nicht gefunden: abc.com

Der Nameserver im Einsatz ist Digital Ocean und ich habe auch ein Google Mail-Konto mit dem gleichen verknüpft (sagen wir mit [email protected]).

Beim Einrichten der Dinge mit Mailgun, habe ich mg.abc.com (wie sie sagten, es würde auch lassen Sie mich per E-Mail mit der Stammdomäne). Der Bestätigungsschritt ist abgeschlossen und ich kann E-Mails senden mit [email protected].

jedoch die Stammdomäne zu verwenden versuchen ([email protected]) gibt den folgenden Fehler:

AnymailRequestsAPIError: Sending a message to [email protected] from [email protected] 
ESP API response 404: 
{ 
"message": "Domain not found: abc.com" 
} 

Wie löse ich dieses Problem?

Antwort

2

-Update 8/22/16: AnyMail wurde eine neue MAILGUN_SENDER_DOMAIN in settings.py nehmen aktualisiert. Siehe Version .5+ Dokumente.

- Original-Antwort Sie schreiben nicht Ihren Code für, wie Sie Ihre E-Mail senden, aber Sie sind wahrscheinlich versuchen, die einfache send_mail zu senden() -Funktion:

from django.core.mail import send_mail 

send_mail("Subject", "text body", "[email protected]", 
      ["[email protected]"],) 

Wenn Wenn Sie diese Methode verwenden, zieht Anymail die Domain aus Ihrer Absenderadresse und versucht, diese mit Mailgun zu verwenden. Da Ihre Absenderadresse (abc.com) die Subdomain mg nicht enthält, ist Mailgun verwirrt.

Stattdessen müssen Sie die E-Mail mit dem EmailMultiAlternatives Objekt senden und die E-Mail-Absender-Domäne angeben, wie so:

from django.core.mail import EmailMultiAlternatives 

msg = EmailMultiAlternatives("Subject", "text body", 
          "[email protected]", ["[email protected]"]) 
msg.esp_extra = {"sender_domain": "mg.abc.com"} 

msg.send() 

Vergessen Sie nicht die Klammern in Ihrem Feld, da dies ein Tupel sein muss oder Liste, auch wenn Sie es nur an einen Empfänger senden. Weitere Informationen finden Sie unter Anymail-Dokumente unter esp_extra.

+0

Bitte beachten Sie, dass AnyMail eine neue Einstellung hinzugefügt wird, die dies einfacher macht. Siehe Kommentare in [dieser Ausgabe] (https://github.com/anymail/django-anymail/issues/26#issuecomment-237367993). – Rob