Mail-Routing: Unterschied zwischen den Versionen

aus dem Wiki des Entropia e.V., CCC Karlsruhe
(Automagically converted by twiki2mediawiki)
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:


== Wie kommt eine E-Mail von mir zum Empfänger? ==


== Wie kommt eine E-Mail von mir zum Empfänger? ==
von Thomas Hochstein ([http://www.th-h.de/infos/email/smtp-zustellung.php3])


von Thomas Hochstein ( http://www.th-h.de/infos/email/smtp-zustellung.php3 )
==== Die Frage lautete: ====


<p>Die Frage lautete:</p>
<nowiki>
<pre>
> Nehmen wir an, wir haben Mail-Anbieter aaa.com und Mail-Anbieter bbb.
> Nehmen wir an, wir haben Mail-Anbieter aaa.com und Mail-Anbieter bbb.
> de. Jetzt möchte jemand vom ersten eine eMail zu einem Member vom  
> de. Jetzt möchte jemand vom ersten eine eMail zu einem Member vom  
Zeile 16: Zeile 16:
> die eMail und woher weiss er überhaupt den genauen Host? (er hat ja  
> die eMail und woher weiss er überhaupt den genauen Host? (er hat ja  
> eigentlich nur das "@bbb.de") ??
> eigentlich nur das "@bbb.de") ??
</pre>
</nowiki>


<p>Meine Antwort:</p>
==== Meine Antwort: ====
<pre>
<nowiki>
smtp.aaa.com bekommt die E-Mail von Person 1.
smtp.aaa.com bekommt die E-Mail von Person 1.


Zeile 85: Zeile 85:


[1] Mehr dazu in RFC 2821 und ganz kurz auch am Anfang der [http://www.th-h.de/faq/headrfaq.html Header-FAQ].
[1] Mehr dazu in RFC 2821 und ganz kurz auch am Anfang der [http://www.th-h.de/faq/headrfaq.html Header-FAQ].
</pre>
</nowiki>


<a name="links"></a>
== Weiterführende Links ==
<h2>Weiterf&uuml;hrende Links</h2>
 
<ul>
<li>[http://www.tldp.org/HOWTO/Mail-Administrator-HOWTO.html The Linux Electronic Mail Administrator HOWTO]</li>
<li>[http://www.faqs.org/rfcs/rfc2821.html RFC 2821 (SMTP)]</li>
</ul>
 
</div>


* [http://www.tldp.org/HOWTO/Mail-Administrator-HOWTO.html The Linux Electronic Mail Administrator HOWTO]
* [http://www.faqs.org/rfcs/rfc2821.html RFC 2821 (SMTP)]

Version vom 10. Januar 2005, 00:03 Uhr

Wie kommt eine E-Mail von mir zum Empfänger?

von Thomas Hochstein ([1])

Die Frage lautete:

> Nehmen wir an, wir haben Mail-Anbieter aaa.com und Mail-Anbieter bbb. > de. Jetzt möchte jemand vom ersten eine eMail zu einem Member vom > zweiten Provider senden. > > Logisch, Person eins sendet über smtp.aaa.com und Person 2 holt über > pop.bbb.de ab. > Aber was passiert dazwischen mit der Mail? Wohin sendet smtp.aaa.com > die eMail und woher weiss er überhaupt den genauen Host? (er hat ja > eigentlich nur das "@bbb.de") ??

Meine Antwort:

smtp.aaa.com bekommt die E-Mail von Person 1. (1) smtp.aaa.com prüft jetzt zunächst, ob er die E-Mail annehmen darf. Er darf das dann, wenn er entweder der (bzw. ein) für die Domain "bbb.de" zuständige(r) Mail-Empfangs-Server (Mail eXchanger, kurz "MX") ist, oder der Absender zu den befugten Nutzern gehört. Letzteres prüft er anhand der IP-Nummer des Absenders oder durch Authentifzierungsmaßnahmen wie SMTP-Auth oder SMTP-after-POP. Sinn der ganzen Aktion ist es, offenes Relaying zu vermeiden, d.h. saß smtp.aaa.com Mail von jedermann an jedermann annimmt (Mißbrauch durch Spammer). (2) Wenn smtp.aaa.com die Mail hat, prüft er, ob er selbst für "bbb.de" zuständig ist oder die Mail weiterleiten muß. Im letzteren Falle macht er eine DNS-Abfrage (DNS= Domain Name Server / Domain Name System) nach den Mail eXchangern für bbb.de. Wenn er eine Antwort bekommt, sucht er sich den MX mit der kleinsten Priorität heraus (bei mehreren mit gleicher Priorität einen beliebigen davon) und macht eine erneute DNS-Abfrage, um die IP-Nummer des MX zu bekommen. (2a) Wenn kein MX zu finden ist, wird ggf. noch nach einem A-Record (also einem Eintrag mit der IP-Adresse des Rechners mit dem Namen "bbb.de") gesucht und Mailzustellung nach dort versucht. Wenn beides scheitert, geht die Mail als unzustellbar an den Absender zurück, meist mit einem Kommentar wie "no route to host", idR erst nach bis zu vier Tagen probieren (falls der Eintrag nur kurzfristig fehlt). (3) smtp.aaa.com verbindet sich mittels der IP-Nummer mit dem MX von bbb.de, vielleicht ist das smtp.bbb.de oder auch mx.bbb.de. Er beginnt eine SMTP-Sitzung (HELO/EHLO etc. pp.) [1] und will die Mail ausliefern. smtp.bbb.de prüft jetzt, ob er für die Mail zuständig ist bzw. sie annehmen darf. Wenn smtp.bbb.de weiß, daß er MX für bbb.de ist, also korrekt konfiguriert wurde, nimmt er die Mail an. (3a) Wenn smtp.bbb.de nicht erreichbar ist, versucht smtp.aaa.com es mit dem nächsten MX-Record mit höherer Priorität. Falls es keinen mit höherer Priorität mehr gibt, markiert er die Mail als "zeitweise unzustellbar" und versucht es später nochmal, in der Regel bis zu vier Tage lang. (3b) Wenn smtp.bbb.de erreichbar ist, aber die Mail nicht annimmt, kommt es auf den Fehlercode an: bei einem temporären Fehler (Überlast, Datenbank nicht verfügbar ...) wird ebenfalls die Zustellung mehrfach erneut versucht. Bei einem endgültigen Fehler ("Relaying nicht erlaubt", wenn smtp.bbb.de gar nicht weiß, daß er als MX für bbb.de eingetragen ist, oder "user unknown") geht die Mail als unzustellbar zurück. (4) smtp.bbb.de weiß, daß er selbst für Mail an bbb.de zuständig ist und liefert sie konfigurationgemäß aus, d.h. vermutlich in die Mailbox (oder das Maildir oder was auch immer) von Person 2. Wenn pop.bbb.de ein anderer Rechner als smpt.bbb.de sein sollte, ist da dann ggf. noch eine interne Weiterleitung dabei. Soweit in aller Kürze als Überblick. Einzelheiten des geschilderten Vorgehens sind in der Regel implementations- oder konfigurationsabhängig - oder zwar theoretisch standardisiert, aber praktisch teilweise anders gehandhabt. Für einen etwas laienhaften Überblick sollte es aber taugen. [1] Mehr dazu in RFC 2821 und ganz kurz auch am Anfang der [http://www.th-h.de/faq/headrfaq.html Header-FAQ].

Weiterführende Links