POP, IMAP & Postfix: E-Mail-Protokolle erklärt
Eingeordnet in Informatik
Geschrieben am in Deutsch mit einer Größe von 5,4 KB
POP (Post Office Protocol)
- Protokoll zum Empfangen von E-Mails, entwickelt für Clients und Benutzer ohne permanente Online-Verbindung.
- Ressourcenschonend für den Server-Rechner.
- Typischer Arbeitsablauf: Verbinden, Herunterladen und Trennen.
- Einfaches Protokoll: 13 Befehle, die mit "+OK" oder "-ERR" antworten.
- Standardverhalten: Herunterladen von Nachrichten und anschließendes Löschen vom Server.
- Verwendet bekannte Ports: POP3 (110/tcp) und die sichere Version POP3S (995/tcp).
IMAP (Internet Message Access Protocol)
- Bietet Methoden für den Zugriff auf E-Mails, die auf einem entfernten Server gespeichert sind, als wären sie lokal.
- Auf gespeicherte Nachrichten kann von mehreren Orten aus zugegriffen werden, ohne sie zu verschieben.
- Unterstützt das Erstellen, Umbenennen und/oder Löschen von Verzeichnissen (Ordnern).
- Bietet Unterstützung für verschiedene Zugriffsarten: online, offline, getrennt.
- Komplexeres Protokoll: 24 Befehle, 5 Antworttypen (OK, NO, BAD, PREAUTH, BYE).
- Verwendet bekannte Ports: IMAP (143/tcp) und IMAPS (993/tcp).
Vorteile von POP
- Einfaches Protokoll, leichte Implementierung.
- Breite Client-Unterstützung.
- Geringerer Ressourcenverbrauch auf dem Server.
- Nachrichten werden lokal gespeichert (Offline-Lesen möglich).
- Spart Speicherplatz auf dem Server, da Nachrichten nach dem Download gelöscht werden (Standard).
- Ideal für den Zugriff von einem festen Computer.
Vorteile von IMAP
- Verwaltung von E-Mail-Status (Flags: z. B. gelesen, beantwortet).
- Zugriff auf und Verwaltung von mehreren Postfächern.
- Gleichzeitiger Zugriff und Updates (auch für freigegebene Postfächer).
- Optimiert für Online-Betrieb (auch bei langsamer Verbindung).
- Nachrichten bleiben auf dem Server (Zugriff von überall möglich).
- Nützlich für Zugriff von mehreren Geräten oder per Webmail.
- Erfordert aktive Internetverbindung zum Lesen/Bearbeiten.
- Regelmäßige Postfachpflege (Löschen/Archivieren) ist wichtig, um Speicherlimits nicht zu überschreiten.
Postfix Mail Server
- Mail Transfer Agent (MTA) für UNIX-ähnliche Systeme.
- Entwickelt als sicherer, schneller Ersatz für Sendmail (kompatibel).
- Modulare Architektur und Design.
- Einfache Verwaltung und Konfiguration.
- Hohe Leistung und Sicherheit (entwickelt von Wietse Venema).
- Jeder Prozess läuft mit minimalen Rechten und isoliert.
- Nicht benötigte Prozesse können deaktiviert werden (kein Sicherheitsrisiko).
- Interprozesskommunikation (IPC) hauptsächlich über Sockets.
- Vermeidet Puffer fester Größe zur Prävention von Buffer-Overflow-Angriffen.
- Kann in einer chroot-Umgebung laufen (z. B.
/var/spool/postfix
). - Resistent gegen DoS-Attacken (Denial of Service) durch Ressourcenkontrolle.
- Unterstützt virtuelle Domains und mehrere Postfix-Instanzen.
- Gut dokumentierter Open-Source-Code (Public Domain).
Programmtypen
- Kernprogramme (Daemons): Laufen ständig im Hintergrund. Keine direkte Benutzerinteraktion (außer Konfiguration). Wichtigster Prozess:
master
. - Hilfsprogramme (Utilities): Können direkt über die Kommandozeile aufgerufen werden.
Warteschlangen (Queues)
- Maildrop: Für lokal eingelieferte Mails; Formatierungsprüfung.
- Incoming: Empfangene Mails von extern/Maildrop; warten auf Verarbeitung.
- Active: Mails in aktiver Zustellung (begrenzte Größe).
- Deferred: Temporär unzustellbare Mails (werden später erneut versucht).
Wichtige Prozesse
- pickup: Holt Mails von Maildrop und übergibt sie an
cleanup
. - smtpd: Nimmt Mails via SMTP entgegen.
- cleanup: Bereinigt Header, prüft Adressen und legt Mails in die Incoming Queue.
- qmgr (Queue Manager): Verwaltet Queues (Incoming, Active, Deferred) und startet Zustellprozesse.
- local: Zuständig für die Zustellung in lokale Postfächer.
- smtp: Zuständig für die Zustellung an andere SMTP-Server.
- pipe: Zuständig für die Zustellung an externe Programme.
Lookup-Tabellen
- access: Zugriffsregeln (Annehmen/Ablehnen, von
smtpd
genutzt). - aliases: Alias-Adressen für lokale Benutzer (von
local
genutzt). - canonical: Umschreibung von Absender-/Empfängeradressen (von
cleanup
undsmtp
genutzt). - relocated: Benachrichtigung bei umgezogenen Benutzern (von
qmgr
genutzt). - transport: Spezifisches Routing für Domains/Adressen (von
qmgr
genutzt). - virtual: Mapping virtueller Mailbox-Adressen auf reale Benutzer oder Adressen (von
cleanup
genutzt).
Tabellenformate können sein: Hash, MySQL, PostgreSQL, LDAP etc.