Warum brauche ich einen SMTP-Server?

92

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.comServer. und dann wird dieser Server meine Nachricht an den MX-Server von senden example.com.

Tobia
quelle

Antworten:

114

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:

  1. 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.

  2. 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:

    1. Dynamische Adressen / Clientadressen blockieren (Nicht 100%, aber große Teile des Internets wurden zugeordnet).

    2. 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.

    3. 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).

    4. 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.

Davidgo
quelle
19
Vergessen Sie nicht so kleine Dinge wie SPF (Whitelisting von Hosts, die E-Mails für eine Domain senden dürfen) und DKIM (digitales Signieren von Nachrichten auf Domain-Ebene) - insbesondere letzteres ist nur mit einem dedizierten Relay möglich.
Grawity
@grawity Auf jeden Fall erwähnenswert, aber warum ist DKIM ohne ein dediziertes Relais nicht "möglich"? DKIM-Selektoren sind nicht an die sendende Anwendung oder IP-Adresse gebunden. Wenn Ihr E-Mail-Client die Nachricht mit einem veröffentlichten Schlüssel signieren kann, ist sie genauso gültig wie jeder andere Unterzeichner.
Mathias R. Jessen
2
@ManuH: Gemäß den Messwerten in der feinen Antwort beeinträchtigt normale Mail 1/5 des Mail-Volumens. Gemäß den Messwerten auf meinem Server gefährdet normale E-Mail 1/20 des E-Mail-Volumens. Es ist ein großartiger Kompromiss.
Dotancohen
1
@manuh: Greylisting schließt die Verbindung, bevor die E-Mail gesendet wird. Es wird nur so lange abgehört, bis der Absender und der Empfänger empfangen werden, die sich in der Kopfzeile befinden. Einige Greylist-Systeme sind auch sofort einsatzbereit. Akzeptieren Sie alle E-Mails von einem SMTP-Server, auf dem die Zustellung bereits wiederholt wurde. Leider ist es sehr effektiv.
Davidgo
4
Könnte hinzugefügt werden, dass in "guten alten Tagen" E-Mails oft von einem SMTP-Server an einen anderen, dann an einen anderen und dann an einen anderen gesendet wurden, bevor das Ziel erreicht wurde. Dies funktionierte normalerweise einwandfrei, aber zum Beispiel war während des Angriffs auf einen Wurm der Ausfall eines Computers einer der wichtigsten Mail-Relays, sodass es bis zu 48 Stunden dauern konnte, bis E-Mails mit Warnungen, Lösungen und Fixes für den Wurm erreicht wurden ihre Empfänger.
Baard Kopperud
32

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?

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.0auf Ihrem SMTP-Server haben, über die E-Mails gesendet werden, smtp.example.comist dies ein geeigneter PTR-Eintrag smtp.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.9sendet E-Mails für example.com. Wir wissen bereits, dass dies smtp.example.comverwendet wird 123.456.789.0, aber ein SPF-Eintrag für example.comkann besagen: „Hey! 123.456.789.9ist 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.

JakeGould
quelle
15

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.

Ron Maupin
quelle
Sie schreiben "Die meisten ISPs in Wohngebieten blockieren TCP-Port 25 (SMTP)" <- können Sie näher erläutern, was das bedeutet? Meinen Sie damit, dass Sie über Port 25 keine ausgehende Verbindung zu einem SMTP-Server herstellen können? Oder meinst du damit, dass sie nicht zulassen, dass du auf Port 25 eine Verbindung erhältst?
Barlop
2
@barlop Ersteres - Sie blockieren ausgehende Verbindungen von privaten Verbindungen zu anderen Computern als ihren eigenen Mailservern (oder sogar zu einem anderen Ort, da sie möglicherweise 587 oder 465 für ihre eigenen Server verwenden). Es ist jedoch etwas übertrieben zu sagen, dass die meisten ISPs dies tun.
Hobbs
2
@hobbs - Meine Erfahrung (und es ist ein fairer Teil meines Jobs) ist anders. Während viele ISPs den Datenverkehr blockieren, der ihr Netzwerk mit einem Ziel von Port 25 verlässt (wodurch der Datenverkehr von Port 25 über ihre Mailserver erzwungen wird), gilt dies im Allgemeinen nicht für Port 587 oder 465 - und dies ist in der Tat sinnvoll. Port 587 und 465 ERFORDERN im Allgemeinen die Authentifizierung und das Blockieren und sind speziell MUA-zu-MTA und nicht MTA-MTA. Das Blockieren dieser Ports würde ein RIESIGES Spiel erzeugen, wie es viele Unternehmen benötigen, um Roaming, Rechenschaftspflicht und das Unterbrechen des SPF zu ermöglichen.
Davidgo
3
@hobbs, ich habe nie geschrieben, dass die meisten ISPs dies tun. Was ich geschrieben habe, ist, dass die meisten ISPs in Wohngebieten dies tun. Zum Beispiel tun AT & T, Comcast, TWC, Verizon usw. dies für ihre Privatkunden, aber sie tun dies nicht für ihre Geschäftskunden.
Ron Maupin
6

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.

Kevin Keane
quelle
Das ist ein guter Punkt. Es geht jedoch nicht nur um die eigentlichen Funktionen für Warteschlangen usw. Die Verfügbarkeit des Servers unterscheidet einige dieser Funktionen. Wenn ein Problem auftritt und Sie Ihren Laptop herunterfahren, kann er erst beim nächsten Einschalten erneut versucht werden. Der Mailserver ist jedoch wahrscheinlich rund um die Uhr verfügbar, sodass er eine Reihe von Nachrichten besser verwalten kann. Nachdem Sie Ihre Nachricht per SMTP an den Server gesendet haben, muss Ihr E-Mail-Client nicht mehr online bleiben, um die Zustellung zu gewährleisten.
David Spillett
4

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?

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.

thomasrutter
quelle
1

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

Dana
quelle
Ich verstehe nicht, warum ich eine statische IP-Adresse benötige, um meine Antwort zu erhalten ... Die Antwort sollte an meinen MX-Server (z. B. Google Mail) und nicht an meinen Computer gesendet werden. Habe ich recht?
Tobia
Ja du hast Recht. Ich denke, mein Punkt ist, dass ein Posteingang normalerweise irgendwo auf einem Server vorhanden ist, damit ausgehende E-Mails gesendet werden können. Logischerweise ist es sinnvoll, dass dieser Server auch ausgehende E-Mails verarbeitet. Andernfalls würden Sie beispielsweise einen "gesendeten" E-Mail-Ordner verlieren.
dana
Mmh es ist vernünftig. Aber ich bin frei , eine Mitteilung mit Google Mail mit einem unbekannten „aus“ oder „replyto“ Adresse senden unsing seine SMTP - Server ...
Tobia
1
Wenn Sie GMail verwenden, müssen Sie die SMTP-Authentifizierung verwenden. Daher wird die FROM-Adresse auf Ihre @ gmail.com-Adresse festgelegt. Andernfalls können Sie deren Service zum Spoofing verwenden.
dana
2
Heutzutage interessieren sich viele Benutzer nicht weniger für die Bounces, ABER ein Setup, das Bounces nicht akzeptiert, wird normalerweise als wahrscheinliche Spam-Quelle angesehen.
Rackandboneman