Wie funktioniert das E-Mail-Routing?

Ich möchte verstehen, wie das E-Mail-Routing funktioniert. Nehmen wir an, ich versuche, eine Nachricht an jemanden zu senden @gmail.com. Nach meinem derzeitigen Verständnis passieren die folgenden Schritte:

  1. DNS-MX-Abfrage auf gmail.com.
  2. Wählen Sie einen Mailaustauschserver mit der höchsten Priorität (niedrigste Zahl) aus.
  3. Senden Sie E-Mails an Exchange Server auf Port 25 (smtp).

Aber als ich einen Port-Scan (mit nmap) für Port 25 durchführte, stellte ich fest, dass Port 25 für E-Mails geschlossen ist exchange Server der Domäne gmail.com (gmail-smtp-in.l.google.com). Dies ist bei den meisten E-Mail-Domains der Fall. Bitte helfen Sie, den Fluss des E-Mail-Routings zu verstehen.

Author: user2586432, 2014-10-15

1 answers

Was Ihnen fehlt, ist, dass nmap nicht der be-all-end-All-Checker offener Ports ist.

Zum einen ist es eine schreckliche Idee, einen vollständigen Port-Scan durchzuführen, nur um zu sehen, ob ein einzelner Port geöffnet ist. telnet funktioniert einwandfrei:

shadur@huginn:~$ telnet gmail-smtp-in.l.google.com.  25 
Trying 2a00:1450:4013:c01::1b...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.

Mark macht eine sehr gute mögliche Erklärung in dem Kommentar zu Ihrer Frage; Eine andere Möglichkeit ist, dass Googles Mail-Server, der mit ziemlicher Sicherheit unter nahezu konstanten minderwertigen Angriffen von Opportunisten steht, den Port-Scan-Versuch bemerkt und blockiert umgehend Ihre IP-Adresse für die nächsten fünf Minuten, bevor Sie so weit wie Port 22 bekommen haben, geschweige denn 25.

Das heißt, das vollständige Flussdiagramm ist etwas größer:

  1. Sie verfassen die Nachricht in Ihrem Mail-Client, was auch immer sie sein mag (Mail User Agent oder MUA genannt).
  2. Die MUA konsultiert ihre Einstellungen und das Feld To:, um zu sehen, wie dies gehandhabt werden soll, und ruft dann den entsprechenden Postausgangsserver (MTA - Mail Transfer Agent) auf, den ihre Konfiguration mitteilt es wurde beauftragt, dies zu handhaben. Auf Unix-Systemen ist dies normalerweise localhost; Windows-Systeme neigen dazu, den ausgehenden Mailserver ihres ISP zu konfigurieren.
  3. Der MTA, der die Nachricht von der MUA empfängt, überprüft seine Konfiguration und vergleicht sie mit der Quelle, dem Ziel (und optional dem Hauptteil) der Nachricht, um zu entscheiden, was damit getan werden soll. Abhängig von den oben genannten kann dies von der direkten Ablehnung bis zum Scannen nach Viren/Spam/etc oder dem Weitersenden variieren.
  4. Wenn der MTA bestimmt, dass die Nachricht akzeptiert werden soll, aber die Domäne des Empfängers ist nicht in der Liste der Domänen lokal behandelt werden, wird es versuchen, Relay die Nachricht, entweder an den MX der Empfängerdomäne oder eine konfigurierte so genannte "smart Host". (Die meisten Unix-Systeme, die in #3 erwähnt werden, haben ihren localhost-SMTP-Server so konfiguriert, dass er den Mailserver ihres ISP für ausgehende E-Mails verwendet.) Der "Smart Host" nimmt dies dann bei Schritt 3 auf.
  5. Sobald ein MTA im Link beschlossen hat, es zu senden direkt an den Empfänger wird zunächst versucht, ihn an den primären MX zu senden. Wenn dieser MX nicht antwortet, versucht er den Rest der MX-Server in der Reihenfolge der absteigenden Priorität, bis er eine explizite Accept-oder Reject-Antwort von einem erhält oder bis ihm die MX-Datensätze ausgehen, um es zu versuchen, je nachdem, was zuerst eintritt.
  6. Sobald ein MTA in den MX-Datensätzen der Empfängerdomäne die Nachricht empfängt, konsultiert er ebenfalls seine - Konfiguration und stimmt sie mit den Nachrichtenkopfzeilen und-inhalten ab um zu bestimmen, was damit zu tun ist, mit dem gleichen Repertoire an Optionen wie unter #3 erwähnt, jedoch mit der hinzugefügten Option "an den Endbenutzer liefern" über den konfigurierten Mail Delivery Agent (MDA).
  7. Wenn der MDA die Nachricht empfängt, konsultiert er auch seine Konfiguration, um zu entscheiden, wie die Nachricht behandelt werden soll und in welches Postfach (falls vorhanden) die Nachricht abgelegt werden soll.
 4
Author: Shadur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-10-15 08:35:24