Warum brauche ich einen Zwischen-SMTP-Server, um E-Mails zu senden? Warum kann mein Client (Outlook, Thunderbird) keine Nachrichten direkt an die SMTP-Domäne des Empfängers senden?
Wenn ich zum Beispiel eine E-Mail [email protected]
mit meinem Google Mail-Konto senden muss, sende ich sie an den smtp.gmail.com
Server. und dann wird dieser Server meine Nachricht an den MX-Server von senden example.com
.
Antworten:
Es ist technisch möglich, von Ihrem Computer aus eine E-Mail direkt an den SMTP-Server des Empfängers zu senden.
Wenn der Remote-SMTP-Server aus historischer Sicht nicht verfügbar ist, soll er automatisch von einem System verarbeitet und wiederholt werden. Daher verfügen Sie über einen SMTP-Server. In ähnlicher Weise waren früher nicht alle Mailserver ständig verbunden - Fernverbindungen waren teuer, sodass E-Mails in die Warteschlange gestellt und gesendet wurden, wenn eine Verbindung hergestellt wurde.
Wenn das Internet günstig ist, sind Mechanismen zum erneuten Senden von E-Mails nützlich, wenn ein Server nicht verfügbar ist. Diese Funktionalität ist nicht ideal, um in das MUA (Mail User Agent / Endbenutzer-Mailprogramm) geschrieben zu werden. Diese Funktionen passen in einen MTA (Mailserver / SMTP-Server).
Aber es wird schlimmer - Spammer . Die meisten E-Mails (weit mehr als 80%) sind Spam. E-Mail-Anbieter tun also alles, um dieses Problem zu verringern. Bei einer Vielzahl von Techniken werden Annahmen über die Zustellung von E-Mails getroffen. Die folgenden Punkte sind wichtig:
Greylisting: Einige Anbieter unterbrechen automatisch eine E-Mail-Verbindung, wenn Absender und Empfänger noch nicht miteinander kommuniziert haben, und erwarten, dass sie es ein zweites Mal versuchen - weil Spammer dies häufig nicht tun, während dies bei einem SMTP-Server immer der Fall ist. Dies reduziert das Spam-Aufkommen um ca. 80%. Es ist aber scheiße, das tun zu müssen.
Reputation: Es ist viel wahrscheinlicher, dass jemand, der E-Mails über einen seriösen, bekannten SMTP-Server sendet, seriöser ist als ein Fly-by-Night-Server. Um ein Gefühl für die Reputation zu bekommen, unternehmen Anbieter eine Reihe von Dingen:
Dynamische Adressen / Clientadressen blockieren (Nicht 100%, aber große Teile des Internets wurden zugeordnet).
Stellen Sie sicher, dass umgekehrtes DNS mit vorwärts gerichtetem DNS übereinstimmt: Dies ist nicht sehr schwierig, zeigt jedoch ein gewisses Maß an Rechenschaftspflicht und Wissen über bewährte Vorgehensweisen - und etwas, das viele Clientadressblöcke nicht haben.
Reputation: Bei der Kommunikation mit anderen SMTP-Servern behalten viele Anbieter die Menge an Spam und die Menge an gesendeten E-Mails im Auge und können die Menge an Spam reduzieren, indem sie Verbindungen begrenzen und diese Parameter im Auge behalten. (Es gibt viele Möglichkeiten, dies zu tun, nicht alle sind offensichtlich, erfordern jedoch einen bekannten Absender).
SPF und DKIM: Diese Mechanismen binden DNS-Ressourcen an den Domänennamen, um das Fälschen von E-Mails zu erschweren, und sind schwierig (aber nicht unbedingt unmöglich), wenn das E-Mail-Programm (MUA) für ausgehende E-Mails verantwortlich ist vollständig, da es bereits akzeptiert wurde. Gutschrift für es sollte auf Plakate unten gehen, wie es mir in den Sinn kam, aber es ist trotzdem sehr gültig)
Es gibt wahrscheinlich noch andere kleinere Bedenken, aber dies wären die größten.
quelle
Im Jahr 1991 - und in den meisten frühen neunziger Jahren und sogar früher - könnten Sie in der Lage sein, das zu tun, was Sie beschreiben. Die Realität im Jahr 2015 ist jedoch, dass man technisch gesehen von jedem Computer, auf dem ein Mail-Dienst installiert ist, eine E-Mail an jeden senden kann. In der Welt von SPAM ist diese Methode jedoch praktisch unbrauchbar geworden.
Wenn Sie einen „echten“ SMTP-Dienst verwenden, werden Dinge wie PTR-Einträge, SPF-Einträge und sogar DomainKeys festgelegt, die alle nur für einen Zweck und einen Zweck eingerichtet sind: um sicherzustellen, dass das SMTP, das die Nachricht sendet, echt ist. Und wenn nicht? Filtern Sie die Nachricht in einen SPAM-Ordner oder in den „großen Abgrund“ des Löschens. Hier ist eine Aufschlüsselung der einzelnen Elemente:
PTR (Pointer Record / Reverse DNS Record): Überprüfung der Serverebene. Wie hier erläutert , wird ein PTR-Datensatz verwendet, um eine Netzwerkschnittstelle (IP) einem Hostnamen zuzuordnen. Das heißt, wenn Sie eine Adresse
123.456.789.0
auf Ihrem SMTP-Server haben, über die E-Mails gesendet werden,smtp.example.com
ist dies ein geeigneter PTR-Eintragsmtp.example.com
. Scheint zu einfach zu sein, aber es funktioniert, da der einzige, der wirklich einen PTR-Eintrag erstellen kann, der Eigentümer der IP-Adresse ist und nur auf seiner Hardware festgelegt werden kann. Es fungiert also als Verifizierungspunkt für den Eigentümer / Betreiber / Verwalter dieser IP-Adresse.SPF (Sender Policy Framework): Überprüfung der DNS-Einstiegsebene für Hostnamen. Ein SPF-Eintrag - wie hier erläutert - ist im Grunde ein DNS- Eintrag , der vom Domänennameninhaber festgelegt wird und eine Liste der IP-Adressen und Hostnamen von Servern enthält, die E-Mails für diesen Domänennamen senden dürfen. Dies ist wiederum ein weiterer Überprüfungsschritt, mit dem sichergestellt wird, dass nur der wahre Domänennamenbesitzer eines SMTP-Servers E-Mails senden kann. Angenommen, ein Server mit der IP-Adresse von
123.456.789.9
sendet E-Mails fürexample.com
. Wir wissen bereits, dass diessmtp.example.com
verwendet wird123.456.789.0
, aber ein SPF-Eintrag fürexample.com
kann besagen: „Hey!123.456.789.9
ist ein guter Server! Er ist echt! Respektiere seine E-Mails! “DKIM (DomainKeys Identified Mail): Überprüfung der E-Mail-Nachrichtenebene. Wie hier und auf Wikipedia erläutert , „ist DKIM ein E-Mail-Validierungssystem zur Erkennung von E-Mail-Spoofing. Es bietet einen Mechanismus, mit dem der Empfänger von E-Mail-Austauschern überprüfen kann, ob eingehende E-Mails von den Administratoren dieser Domain autorisiert wurden und ob die E-Mail (einschließlich Anhänge) wurde während des Transports nicht geändert. “Mithilfe von kryptografischen Hashes überprüft DKIM, ob die E-Mails selbst während des Transports gefiltert oder manipuliert wurden. Dies dient auch als weiterer Bestätigungspunkt in der Kette "Sind Sie legitim oder sind Sie SPAM?".
Auf einem öffentlich zugänglichen SMTP-Server mit beliebigem Wert müssen also mindestens zwei dieser Elemente (PTR und SPF) festgelegt sein, um die Echtheit des SMTP-Servers und der zugehörigen E-Mail-Nachrichten zu überprüfen. Nicht jeder nutzt DKIM, aber es ist eine weitere Validierungsebene, die heutzutage immer beliebter wird, da SPAM-Benutzer beim Versenden von SPAM immer zäher werden.
quelle
Die meisten Internetdienstanbieter in Wohngebieten blockieren den TCP-Port 25 (SMTP), um die Teilnahme an einem Spam-Netzwerk zu verhindern. Wenn Ihr PC infiziert wird, kann Ihr PC auf Geheiß einer anderen Person mit dem Versenden von Spam beginnen.
quelle
Die anderen Antworten sind alle ausgezeichnet und Spam hat viel damit zu tun.
Aber es gibt tatsächlich eine einfachere, allgemeinere Antwort: Funktionen. Das Senden von E-Mails über SMTP ist eigentlich ein sehr komplexes Unterfangen. Auch ohne Spam möchten Sie nicht den gesamten Funktionsumfang des SMTP-Protokolls in jedem E-Mail-Client implementieren. Mit einer dedizierten Software sind Sie besser dran (sendmail, postfix usw. sind die großen in der * nix-Welt, Exchange in der Windows-Welt).
Beispielsweise muss ein "echter" SMTP-Server selbst im einfachsten Fall in der Lage sein, MX-Einträge aufzulösen. Dann muss es Features aushandeln (meistens TLS, aber es gibt auch andere Features). Es muss Warteschlangen für Wiederholungsversuche verwalten, Unzustellbarkeitsberichte erstellen usw.
Und das ist nur die grundlegende, unverzichtbare Funktionalität, ohne die der Server nicht funktionieren würde. Es enthält nicht einmal Dinge wie das Umschreiben von Adressen oder Mailertables. Ganz zu schweigen von den rund ein Dutzend anderen Protokollen, die sendmail ua unterstützen, wie z. B. UUCP.
Die SMTP-Implementierung in Outlook, Thunderbird usw. ist sehr minimal - bestenfalls ungefähr so viel wie die Verwendung eines Smarthosts für Sendmail, wenn dies der Fall ist.
Verwandte, aber separate Probleme: E-Mails sind ein sehr sicherheitsrelevantes Thema, und Sie möchten, dass ein oder mehrere zentral verwaltete Server sie verarbeiten, anstatt möglicherweise Hunderte oder Tausende einzelner Server auf jedem Desktop.
quelle
Sie könnten ein E-Mail-Programm erstellen, das dies tat, und ich bezweifle nicht, dass andere es bereits getan (oder versucht) haben.
Sie würden im Wesentlichen ein Tool schreiben, das sowohl ein MUA (Mail User Agent) als auch ein MTA (Mail Transfer Agent) in einem ist.
Der Grund dafür, dass dies traditionell in verschiedene Tools unterteilt ist, wobei sich der MTA auf der "Serverseite" befindet, ist, dass ein MTA, der E-Mails über das offene Internet sendet, erheblich komplexer zu schreiben und zu konfigurieren ist und auch davon profitiert, dass er sich auf einem befindet zuverlässiger "always on" Server.
Ein MTA muss:
Suchen Sie nach Servern, denen es nicht vertraut oder die sich möglicherweise schlecht verhalten, und stellen Sie eine Verbindung zu ihnen her.
Behandeln Sie Server, die ausfallen, und leiten Sie sie an alternative Server weiter, oder stellen Sie die E-Mails in eine Warteschlange, damit Sie es später erneut versuchen können. Dies funktioniert am besten auf einem Serverprozess, der "immer mit dem Internet verbunden" ist. Dies bedeutet auch, dass der E-Mail-Transfer-Agent eigene Speicherbereiche für E-Mails in der Warteschlange benötigt.
Gehen Sie mit einer Reihe unterschiedlicher Serverfunktionen um und passen Sie das Verhalten an die Funktionen des empfangenden Servers an.
Melden Sie dem Benutzer Fehlerzustände oder unzustellbare E-Mails, damit die E-Mails nicht nur verloren gehen.
Haben Sie ausgezeichnete Sicherheitsmaßnahmen und seien Sie sehr sicherheitsbewusst.
Idealerweise sollten Sie sich auf einem zuverlässigen, stets verbundenen Server mit einer stabilen IP-Adresse und einem umgekehrten DNS-Eintrag befinden, dh einer Internetverbindung, die für öffentlich zugängliche Server geeignet ist. Dies hilft anderen Systemen, E-Mails, die als Spam gesendet wurden, nicht zu erkennen.
In Anbetracht dieser Anforderungen ist es sinnvoll, den SMTP-Server auf einem öffentlich zugänglichen, ständig aktiven Server zu platzieren und zu versuchen, ein Tool zu verwenden, das für diese bestimmte Aufgabe geeignet ist.
quelle
Eine andere Sache, die Sie berücksichtigen sollten, ist der Erhalt einer zurückgesandten E-Mail . Mindestens alle ausgehenden E-Mails haben eine FROM-Adresse, an die eine Antwort gesendet werden kann (unbekannter Benutzer, Urlaubsantwort usw.). Damit die Rücksendeadresse aufgelöst werden kann, muss ein MX-Eintrag vorhanden sein, der auf den Speicherort des Posteingangs verweist. Sofern Sie keine E-Mails von einem Computer mit einer statischen IP-Adresse senden, die immer aktiviert ist, benötigen Sie einen Server, um diese eingehenden Nachrichten zu verarbeiten. Dies wird normalerweise (aber nicht immer) vom selben Dienst erledigt.
GMail, Outlook 365 und Yahoo Mail sind Beispiele für E-Mail-Dienste, die von Personen verwendet werden, die E-Mails senden. Für den kommerziellen E-Mail-Versand gibt es Dienste wie MailChimp, Marketo und Eloqua, die sich sehr gut zum Versenden von Massen-E-Mails für ein Unternehmen eignen und Dinge wie Bounces, Throttling und Zustellbarkeit verarbeiten lassen.
Siehe: https://en.m.wikipedia.org/wiki/Bounce_address
quelle