Das Prinzip des Versendens und Empfangens von E-Mails im Internet lässt sich in unserem täglichen Leben sehr anschaulich als Paketversand beschreiben: Wenn wir ein Paket verschicken wollen, suchen wir uns zunächst irgendein Postamt, das dieses Geschäft abwickelt, und nachdem wir den Namen, die Adresse usw. des Empfängers eingegeben haben, wird das Paket an das örtliche Postamt des Empfängers geschickt. Anschließend muss die andere Partei zu diesem Postamt gehen, um das Paket abzuholen.
Ähnlich verhält es sich, wenn wir eine E-Mail versenden, wird diese E-Mail von einem Mailversand-Server gesendet. Dieser Brief wird auf der Grundlage der Adresse des Empfängers an diesen Server gesendet, um den Mailempfangsserver des Empfängers zu bestimmen. Der Empfänger muss diesen Server dann besuchen, um die E-Mail zu lesen. In der Regel handelt es sich hierbei um den E-Mail Dienst bei dem man registriert ist.
Senden von E-Mails
SMTP ist ein Protokoll, das eine geordnete Übertragung aufrechterhält und festlegt, welche Arbeit zwischen den Mailservern geleistet werden soll, mit dem Ziel, E-Mails zuverlässig und effizient zuzustellen.
SMTP basiert auf dem folgenden Kommunikationsmodell: Basierend auf der Mail-Anforderung eines Benutzers baut das Sender-SMTP einen bidirektionalen Kanal zwischen dem Empfänger-SMTP und dem Sender-SMTP auf. Der Empfänger SMTP kann entweder der Endempfänger oder ein Zwischensender sein. Das Sender-SMTP generiert und sendet SMTP-Befehle, und das Empfänger-SMTP sendet Antwortnachrichten an das Sender-SMTP zurück.
Nachdem die Verbindung hergestellt ist, sendet der Sender SMTP den MAIL-Befehl zur Angabe des Senders, und wenn der Empfänger SMTP dies bestätigt, gibt er eine OK-Antwort zurück. Der Absender-SMTP sendet den RCPT-Befehl, um den Empfänger anzugeben. Wenn der Empfänger-SMTP zustimmt, gibt er wieder eine OK-Antwort zurück; andernfalls lehnt er die Antwort ab (stoppt aber nicht den gesamten Mailversand). Wenn es mehr als einen Empfänger gibt, werden beide Seiten dies viele Male wiederholen. Sobald dieser Vorgang abgeschlossen ist, beginnt das sendende SMTP mit dem Senden des Inhalts der Nachricht und endet mit einer speziellen Sequenz. Wenn der Empfänger-SMTP die Nachricht erfolgreich verarbeitet, wird eine OK-Antwort zurückgegeben.
Wenn bei der Relay-Weiterleitung ein SMTP-Server den Weiterleitungsauftrag annimmt, aber später feststellt, dass er die Nachricht aufgrund eines falschen Weiterleitungspfads oder aus einem anderen Grund nicht senden kann, muss er eine "E-Mail unzustellbar"-Nachricht an den SMTP-Server senden, der die Nachricht ursprünglich gesendet hat. Um zu verhindern, dass die Fehlermeldung zwischen den beiden SMTP-Servern eine Schleife bildet, weil die Nachricht möglicherweise nicht gesendet werden konnte, können Sie den Bounce-Pfad leer lassen.
Empfangen von E-Mails
Es ist unpraktisch, ein Message Transport System (MTS) auf einem relativ kleinen Knotenpunkt des Internets zu betreiben. Beispielsweise verfügt eine Arbeitsstation möglicherweise nicht über ausreichende Ressourcen, um den SMTP-Server und das zugehörige lokale Mail-Transportsystem kontinuierlich zu betreiben. Ebenso ist der Overhead, der damit verbunden ist, dass ein PC über einen längeren Zeitraum an ein IP-Netzwerk angeschlossen sein muss, erheblich und manchmal unmöglich. Nichtsdestotrotz ist es oft sinnvoll POP3 zu verwenden, um eine solche praktische Möglichkeit für den dynamischen Zugriff auf E-Mails zu bieten, die auf Mail-Servern gespeichert sind. Im Allgemeinen bedeutet dies, dass ein Benutzer-Host eine Verbindung zu einem Server herstellen kann, um E-Mails abzurufen, die der Server für ihn bereitgestellt hat. POP3 bietet keine leistungsfähigere Verwaltung von E-Mails, die normalerweise nach dem Herunterladen gelöscht werden. Weitere Verwaltungsfunktionen werden von IMAP4 bereitgestellt.
Der Mailserver startet den POP3-Dienst, indem er den TCP-Port 110 abhört. Wenn ein Benutzer-Host den POP3-Dienst verwenden muss, stellt er eine TCP-Verbindung mit dem Server-Host her. Wenn die Verbindung hergestellt ist, sendet der Server eine Bestätigungsnachricht, die anzeigt, dass er bereit ist, und dann senden beide Parteien abwechselnd Befehle und Antworten, um Post zu erhalten, ein Prozess, der bis zur Beendigung der Verbindung andauert. Ein POP3-Befehl besteht aus einem fallunabhängigen Befehl und einer Reihe von Argumenten. Befehle und Parameter können mit ASCII-Zeichen gedruckt werden, die durch ein Leerzeichen getrennt sind. Befehle bestehen in der Regel aus 3 bis 4 Buchstaben, aber Parameter können bis zu 40 Zeichen lang sein.