2016-04-27 11 views
6

Ich versuche, Django auf einer AWS-Instanz einzurichten, um E-Mails über den Server meiner Hauptwebsite zu senden, anstatt sie zu verwenden externe Mail-Dienste wie Mandrill, Amazon SES ... etcVerwenden von Django zum Senden von E-Mails mit AWS mit einem Reverse-DNS-Setup auf einen anderen Server

ich die erste Setup DNS-Einträge meines Hauptservers eine Sub-Domain an die aws-Instanz elastischen IP, zum Beispiel Punkt:

mail1.website.com->

Ich habe eine Anfrage eingereicht, um eine re haben Vers-DNS-Eintrag Setup zeigt meine AWS-Instanz elastische IP zu einer Sub-Domain, stellen sie es zum Beispiel folgenden:

1.1.1.1->mail1.website.com

Nun, da die Rückdns Rekord-Setup ist mail1.website.com sollte in der Lage sein, im Django verwendet werden, um E-Mails zu senden, ohne dass sie als Spam markiert sind.

https://docs.djangoproject.com/es/1.9/topics/email/#smtp-backend

würde mit dem folgenden genug?

EMAIL_HOST = 'mail1.website.com' 
DEFAULT_FROM_EMAIL = 'test.website.com' 

Wenn ich E-Mail-Benutzer/Passwort zur Verfügung stellen müssen/Port ist es möglich, es einzurichten mit einer bestimmten E-Mail anmelden wie [email protected] aber dann eine E-Mail von [email protected] oder muß ich die SMTP-Einstellungen an die Wurzel zu Setup E-Mail-Adresse

No_reply Email:

EMAIL_HOST = 'mail1.website.com' 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'mypasshere' 
EMAIL_PORT = 465 
DEFAULT_FROM_EMAIL = 'test.website.com' 

oder root:

EMAIL_HOST = 'mail1.website.com' 
EMAIL_HOST_USER = 'root' 
EMAIL_HOST_PASSWORD = 'mypasshere' 
EMAIL_PORT = 465 
DEFAULT_FROM_EMAIL = '[email protected]' 
+0

Nicht sicher, was Sie hier fragen. Reverse-DNS hat nicht viel damit zu tun, wie Sie E-Mails senden. Ob Sie einen Benutzernamen/ein Passwort benötigen, hängt davon ab, ob Sie den SMTP-Server Ihres lokalen Rechners verwenden (wenn dies nicht der Fall ist, ist keine Authentifizierung erforderlich) oder ein Drittanbieter, der eine Authentifizierung erfordert. – solarissmoke

+0

@Ryflex: "Würde das Folgende ausreichen?" Genug für was genau? Kannst du bitte klären? Sind Sie besorgt über RDs? Spam-Scoring? Antwort an: Kopfzeilen?Oder Django-Konfiguration? –

+0

"Genug", um korrekt zu sein, so dass rDNS keine E-Mails als Spam markiert, hauptsächlich um zu beheben: 'SPF_SOFTFAIL',' RDNS_DYNAMIC' und 'HELO_DYNAMIC_IPADDR'. Ich habe bereits eine umgekehrte DNS-Setup wie https://aws.amazon.com/blogs/aws/reverse-dns-for-ec2s-elastic-ip-addresses/ unter Verwendung von https://aws.amazon.com/forms/ec2-email-limit-rdns-anfrage – Ryflex

Antwort

1

Ich bin mir nicht sicher, ob ich verstehe, warum Sie dies versuchen, aber wenn Ihr aktueller E-Mail-Server ordnungsgemäß funktioniert und Sie E-Mails von Ihrer AWS-Instanz weiterleiten möchten, würde ich einfach einrichten ein VPN zwischen AWS und Ihrem aktuellen Netzwerk und ermöglichen Sie Ihrer AWS-Instanz, E-Mail auf diese Weise zu senden. Sie verwenden Ihren E-Mail-Server nicht als externes Relay, daher sollte sich die Zustellbarkeit nicht ändern.

Aber eigentlich ist die richtige Antwort, SES zu verwenden, um E-Mails zu senden. Solange Sie nichts missbräuchliches tun, sollten Sie keine Probleme mit der Zustellbarkeit haben.

Bearbeiten: Die angegebenen Ausnahmen (SPF_SOFTFAIL, RDNS_DYNAMIC und HELO_DYNAMIC_IPADDR) werden möglicherweise nicht entfernt, auch wenn Sie Reverse-DNS für die öffentliche IP-Adresse Ihrer AWS-Instanz einrichten - Sie zeichnen immer noch aus einem Pool bekannter "dynamischer" IP-Adressen - AWS veröffentlicht ihre Liste der IP-Adressen here - und ich bezweifle, dass die Leute sich bemühen, zu überprüfen, ob einige wenige dieser richtig eingerichtet sind.

Die Einrichtung von SPF, damit AWS in Ihrem Auftrag senden kann, lautet pretty easy.