POP3 abholen / SMTP anfordern

Senden von Mails per SMTP

Die Internetverbindung von Mailservern im Internet (und damit auch von Exchange) ist SMTP (Simple Mail Transfer Protocol, RFC-822). 

Die Verbindung zum Empfänger erfolgt über TCP/IP. Dabei kann sowohl ein Router (z.B. 3Com Remote 511,.Zyxel, Cisco 7xx und andere) genutzt werden, als auch der Rasdienst von Windows NT.

Die Gegenstelle wird entweder per DNS (Domain Name Service, MX-Record) gefunden oder durch Vorgabe des Administrator werden alle Mails an einen "Smarthost" gesendet, der die weitere Verteilung übernimmt. Dies gilt generell für den Versand per Internet und ist immer so, egal, welche Anbindung an das Internet existiert. Bei Wählverbindungen ist darauf zu achten, dass die Verbindung auch aufgebaut wird (RRAS oder Telefonbucheintrag) und DNS funktioniert oder der "richtige" SMTP-Server als Relay genutzt wird. So einfach ist erst mal der Versand von Emails per SMTP.

Häufiger Fehler in diesem Fall in Verbindung mit DFÜ-Netzwerken:

Exchange "versucht" zu senden und triggert damit das DFÜ-Netzwerk an, aber Exchange bricht dann wegen Timeout nach einigen Sekunden ab, weil die DFÜ-Verbindung nicht schnell genug steht oder die Namensauflösung (DNS) noch nicht etabliert ist (TCP/IP-Stack Veränderung). Die Nachrichten bleiben in der Warteschlange stehen.

mögliche Lösungsversuche (Keine Garantie)

  • Versuchen Sie zuerst die Mails an die IP-Adresse des Smarthosts bei ihrem Provider zu senden.
  • Suchen sie sich einen Provider, der schneller die Verbindung aufbaut.
  • Verzichten sie auf RAS und nutzen sie einen dedizierten Router, der bei Bedarf die Verbindung aufbaut und abbaut. Exchange kann dann aber den Mailversand nicht  mehr steuern

Tipp: im Internet Mail Service das "Diagnoseprotokoll" auf der SMTP-Schnittstelle hoch setzen, dann findet man im Eventlog mehr Infos, was da per SMTP passiert. Weitere Informationen gibt es auch unter Mail im Internet und Internet Mail Connector Exchange 5.5 und Internet Mail Connector Exchange 2000.

Empfang von Mails per SMTP

Der Empfang von Mails erfolgt auch nur per SMTP, d.h. das System gegenüber von Exchange ist ein SMTP-Sender und Exchange empfängt die Mails per SMTP.

Dazu muss Exchange direkt erreichbar sein (IP DialUp oder Standverbindung) mit einer festen IP-Adresse. Das ist der normale Weg. Nun hat nicht jeder eine Standverbindung oder bidirektionale Wählverbindung (Provider ruft an), daher liegt der Wunsch nahe, dass wir beim Provider anrufen und irgendwie die Zustellung aufgelaufener Nachrichten anstoßen oder gar die Nachrichten aktiv abholen. 

Exchange selbst kann niemals Mails "abholen"

Exchange muss dazu den Mailhost des Providers darüber informieren, dass Exchange empfangsbereit ist (d.h. die IP-Verbindung aufgebaut wurde).

Hierzu wird z.B. der Befehl ETRN (enhanced TURN) genutzt. Einige Mailhosts können auf per Ping, Finger oder andere Aufrufe angetriggert werden. Bei all diesen Möglichkeiten ist dies immer nur ein Signal an den anderen Mailserver, der dann seinerseits eine Verbindung aufbaut und per SMTP die Nachrichten sendet. Aus Sicherheitsgründen (Einfaches SMTP kennt keine Authentifizierung) muss der Provider auch in unserem Interesse sicherstellen, dass wir es sind und niemand, der sich als "wir" ausgibt. Daher benötigt ETRN eigentlich ebenfalls eine feste IP-Adresse. Das machen aber viele Provider nur ungern. Es gibt viele Varianten, wie Provider die Authentizität des Anrufers sicherstellen.

Unabhängig von der Benachrichtigung wird der Mailserver des Providers eine Verbindung zu unserem Exchange Server (Port 25/TCP) aufbauen. Es ist eine Verbindung von außen nach innen. Dies müssen wir beim Einsatz eines Proxyservers, Relays, NAT oder anderen Firewalls beachten, da eine neue Session aufgebaut wird und damit ausgehendes NAT nicht ausreicht.

Das ist die "reine Lehre", aber irgendwie wollten die meisten Provider auch das nicht und haben andere Wege "erfunden", die aber nie in einer RFC festgelegt wurde und daher je nach Provider, Version und Geschick des Programmierers funktionieren oder nicht.

Weitere Infos zur Funktion von SMTP, POP3, MTA, uA, DNS gibt es hier

Sonderform POP3

POP3 ist eigentlich ein Protokoll, mit dem ein einzelner Endanwender sein eigenes Postfach von einem Server lesen und leeren kann. Viele Provider bieten aber auch POP3-Sammelpostfächer an, in die die Mails für eine komplette Domain gelegt wird, damit ein POP3-Client alle Mails für alle Personen einer Domain holen kann.

Zum Verständnis: Exchange selbst kann auch als POP3 -Server dienen, damit "nicht Outlook" Clients an die Mails kommen können. POP3 ist aber aus Sicht von Exchange eher zur Kompatibilität mit anderen Anwendungen (Eudora, Pegasus Mail, Unix Mailer ELM, etc.) vorhanden und erlaubt nicht die Nutzung der Vorteile von Exchange und Outlook (Regeln, serverbasierte Ablage etc.). 

Die Funktionalität, externe POP3 Postfächer zu leeren und in Exchange zuzustellen ist hingegen keine Funktion von Microsoft Exchange (Ausnahme: Der optionale POP3-Connector für Small Business Server)

Fremdprogramme, welche völlig autark von Exchange die Mails per POP3 abholen und dann auf den SMTP Connector die Mail senden, füllen diese angebliche Lücke.

Der Exchange Server selbst kann 
KEINE POP3-Sammelkonten bereitstellen !! 

Also liebe Internetprovider, wenn ihr Exchange als Server für eure Kunden nutzt, dann müsst und solltet ihr ETRN mit festen IP-Adressen oder VPN anbieten.