Derzeit arbeite ich an einer Webanwendung und wollte ein Webformular erstellen, mit dem Benutzer E-Mails schreiben können. Sie müssten also ihre E-Mail-Adresse und die Nachricht eingeben und nach dem Klicken auf „Senden“ würde meine Webanwendung die E-Mail an die Empfänger senden, wobei ihre E-Mail-Adresse im FROM
Header angegeben ist. Der Sendevorgang erfolgt natürlich über meinen eigenen SMTP-Dienst, da ich keinen Zugriff auf die E-Mail-Server meiner Website-Besucher habe.
Nun habe ich gehört, dass das wahrscheinlich keine gute Idee ist, da diese E-Mails höchstwahrscheinlich von den Servern der Empfänger abgelehnt werden. Ich verstehe jedoch noch nicht ganz, warum das so ist und wie dieser Prozess funktioniert. Ich habe erfahren, dass die beiden am häufigsten verwendeten Anti-Spam- und -Spoofing-Technologien, die heute für E-Mails verwendet werden,DKIMUndLichtschutzfaktor.
Daher möchte ich verstehen, warum genau die E-Mails abgelehnt werden und wie DKIM/SPF hier helfen.
Beginnen wir also mit SPF:
Soweit ich weiß, überprüft der Server des Empfängers die IP-Adressen, die E-Mails senden dürfen, anhand der Domäne im MAIL_FROM
Header und des DNS-Systems. Wenn ich nun in meinem obigen Beispiel E-Mails in der Webanwendung mit dem FROM
Header auf eg [email protected]
(das ist die Adresse, die mein Website-Besucher festgelegt hat) sende, sollte dies (?) den Header nicht beeinflussen MAIL_FROM
. Da die E-Mail über meinen E-Mail-Dienst gesendet wird, MAIL_FROM
enthält der Header meine Domäne und soweit ich weiß, sollte es möglich sein, die E-Mail zu senden und SPF zu passieren.
Die andere Anti-Spam-Technologie ist DKIM:
Es signiert die E-Mail und der Empfängerserver sucht im DNS nach dem richtigen öffentlichen Schlüssel, um die Signatur zu verifizieren. Dabei bin ich mir nicht sicher, wie das genau gemacht wird. Ich weiß, dass der FROM
Header Teil der Signatur sein wird, aber wie überprüft der Empfängerserver DKIM? Überprüft er den DNS im MAIL_FROM
Header noch einmal? Wenn ja, könnte ich mit meinem obigen Beispiel auch DKIM weitergeben, ist das richtig? Oder muss die Domäne angegeben sein MAIL_FROM
und FROM
muss identisch sein? Ich bin irgendwie ratlos.
Nach allem, was ich jetzt verstehe, sollten weder DKIM noch SPF für meine Webanwendung ein Problem darstellen. Warum wird es aber trotzdem als schlechte Idee bezeichnet und E-Mails werden höchstwahrscheinlich abgelehnt? Oder habe ich DKIM falsch verstanden?
Meine allgemeine Frage: Wie genau bestimmt der Empfängerserver, ob die E-Mail abgelehnt wird?
Antwort1
Sie können nie sicher sein. Sie können nur raten, es sei denn, der MX-Administrator sagt Ihnen, was falsch ist.
Die Ablehnung einer Nachricht kann auf allen Informationen beruhen, die sich innerhalb der Nachricht, bei der Übertragung oder irgendwo im Internet befinden, darunter:
- MTA-IP-Adresse/Subnetz
- MTA rDNS und FCrDNS
- MTA FQDN von rDNS oder HELO
- DNSBL-Listung des MTA
- weitere im Internet verfügbare Informationen zum MTA-FQDN oder zur Absenderdomäne
- Verlauf früherer Verbindungen und Fehler
- MAIL FROM-Adresse oder Domäne
- Header-Absenderadresse oder -Domäne
- Autorisierungsmethoden wie SPF, DKIM, DMARC
- Schlüsselwörter oder -sequenzen im Betreff oder Text der E-Mail
- heuristische Bewertung des Mailtexts und der Header
Das Einrichten eines aktiven MX/MTA sollte nicht leichtfertig erfolgen. Aufgrund des erheblichen und anhaltenden Spammings gibt es viele Praktiken, die Sie befolgen müssen, da Sie sonst abgelehnt werden oder auf dem Spam-Stapel landen. Am einfachsten ist es, den Server Ihres ISPs als Smarthost zu verwenden – Sie müssen jedoch zuerst dessen Richtlinien überprüfen.
Darüber hinaus können Sie keine „fremden“ Absenderdomänen aus Ihrem System verwenden, es sei denn, Sie sind dazu autorisiert. Wenn Sie Absenderadressen fälschen, landen Sie sofort in der Ecke der böswilligen Spammer. Außerdem können Sie nicht einfach alles glauben, was Ihre Benutzer bei der Registrierung oder zu einem anderen Zeitpunkt angeben. Wenn Sie die E-Mail-Adresse nicht verifizieren, wird Ihr Dienst bereits nach wenigen Stunden missbraucht.