Ein E-Mail-Workflow hat einen Sendeschritt und einen Postfachschritt. SMTP übernimmt den ersten; IMAP übernimmt den zweiten.
Was macht SMTP?
SMTP sendet und leitet E-Mails weiter. Ihre Anwendung oder Ihr Mail-Client öffnet eine Verbindung zu einem SMTP-Server, übermittelt Absender, Empfänger und Nachricht und erhält nach jedem Befehl eine Antwort. Ein Relay kann dann als SMTP-Client agieren und die Nachricht an den nächsten Server weiterreichen.
Das Protokoll entscheidet nicht, wie ein Postfach dargestellt wird oder welche Nachrichten ein Benutzer gelesen hat. Seine Aufgabe ist die Übertragung und die Übergabe der Verantwortung zwischen Servern.
Was macht IMAP?
IMAP ruft Nachrichten aus einem Postfach ab und synchronisiert den Postfachstatus. Ein Smartphone und ein Laptop können dieselben Ordner, Flags und denselben Lesestatus anzeigen, weil beide mit der Serverkopie arbeiten.
IMAP übermittelt keine neue Nachricht zum Versand. Ein Client kann SMTP verwenden, um eine Antwort zu senden, und dann IMAP nutzen, um den Antwortverlauf im Postfach zu lesen.
Wie unterscheiden sich SMTP und IMAP?
| Frage | SMTP | IMAP |
|---|---|---|
| Hauptaufgabe | E-Mails senden und weiterleiten | Postfachdaten abrufen und synchronisieren |
| Richtung | Ausgehend zu einem Mailserver oder Relay | Zwischen einem Postfachserver und einem Client |
| Serverstatus | Ein Server kann eine Nachricht bis zur nächsten Übergabe in die Warteschlange stellen; SMTP definiert kein Benutzerpostfach | Der Server hält die Postfachkopie, Ordner und Nachrichtenstatus vor |
| Typischer Client | Sendende Anwendung oder Mail-Client | Mail-Client beim Lesen eines Posteingangs |
| Übliche Ports | 587 für Submission, 465 für implizites TLS, 25 für Server-zu-Server-Relay | 143 für Plain oder STARTTLS, 993 für implizites TLS |
| Einsatz in einer App | Quittungen, Benachrichtigungen und andere Nachrichten senden | Ein bestehendes Postfach lesen oder verarbeiten |
Der Unterschied beim Serverstatus bestimmt die Protokollwahl. SMTP kann eine Nachricht während der Zustellung in die Warteschlange stellen, ist aber kein Postfachspeicher. IMAP ist auf ein serverseitiges Postfach ausgelegt, das Clients erneut aufrufen und synchronisieren.
Wie kann eine SMTP-Konversation einen Fehler diagnostizieren?
Erfassen Sie den Befehl und die darauffolgende Antwort. SMTP ist eine schrittweise Konversation: Der Client sendet EHLO, MAIL FROM, RCPT TO und DATA, und der Server antwortet auf jeden Schritt. Der fehlschlagende Befehl grenzt das Problem auf Verbindungsaufbau, Absenderakzeptanz, Empfängerakzeptanz oder Nachrichtendaten ein.
Dieses kurze Beispiel reicht bis zum Nachrichtentext:
S: 220 mail.example ESMTP ready
C: EHLO app.example
S: 250-mail.example
C: MAIL FROM:<sender@example>
S: 250 2.1.0 OK
C: RCPT TO:<recipient@example>
S: 550 5.1.1 user unknown
Der 550 kam nach RCPT TO, also hat der Server die Empfängeradresse abgelehnt. Das belegt nicht, dass die Netzwerkverbindung oder die Absenderidentität fehlgeschlagen ist. Ein 4xx-Reply im selben Schritt würde eine Retry-Strategie erfordern statt eines sofortigen permanenten Fehlers.
RFC 5321 definiert das Antwortformat und macht den numerischen Code zum maschinenlesbaren Teil:
An SMTP reply consists of a three digit number (transmitted as three numeric characters) followed by some text unless specified otherwise in this document. The number is for use by automata to determine what state to enter next; the text is for the human user.
Verwenden Sie die erste Ziffer als erste diagnostische Unterscheidung:
| Code-Klasse | Bedeutung | Nächster Schritt |
|---|---|---|
2xx | Der Befehl wurde abgeschlossen | Die Transaktion fortsetzen |
3xx | Der Server hat den Befehl angenommen und braucht weitere Eingabe | Den nächsten Teil senden, z. B. den Nachrichtentext nach DATA |
4xx | Temporärer Fehler | Verantwortung für die Nachricht behalten und erneut versuchen, wenn der Serverzustand sich möglicherweise normalisiert hat |
5xx | Permanenter Fehler für diese Anfrage | Adresse, Anmeldedaten oder Nachricht korrigieren, bevor Sie es erneut versuchen |
Lesen Sie Befehl und Code zusammen. Ein 535 nach der Authentifizierung deutet auf Anmeldedaten oder Authentifizierungsrichtlinie hin. Ein 552 nach DATA deutet auf ein Größenlimit hin. Ein 421 beim Verbindungsaufbau deutet auf ein temporäres Server- oder Verbindungslimit hin.
Welches Protokoll braucht meine Anwendung?
Verwenden Sie SMTP, wenn die Anwendung E-Mails sendet. Verwenden Sie IMAP, wenn sie ein bestehendes Postfach liest und synchronisiert. Eine Anwendung, die eingehende Nachrichten verarbeiten muss, kann auch einen eingehenden E-Mail-API verwenden, der geparste Nachrichten liefert, ohne dass Postfach-Polling nötig ist.
Für ausgehende E-Mails wählen Sie zwischen einem SMTP-Relay und einer HTTP-E-Mail-API. SMTP passt zu Bibliotheken und Systemen, die das Protokoll bereits beherrschen. Eine HTTP API passt zu Umgebungen, in denen das Öffnen und Verwalten von SMTP-Verbindungen umständlich ist.
Wie hilft Bird beim SMTP-Versand?
Um über Bird zu senden, legen Sie den Relay-Host für die Region Ihres Schlüssels fest, wählen Sie Port 465, 587 oder 2525 und authentifizieren Sie sich mit dem Benutzernamen bird und Ihrem API-Schlüssel. Der SMTP-Relay-Leitfaden beschreibt die Verbindungslimits und die Reply-Code-Behandlung bei einer fehlgeschlagenen Übergabe.
Kann ich IMAP zum Senden von E-Mails verwenden?
Nein. IMAP ruft Postfachdaten ab und synchronisiert sie. Zum Senden benötigen Sie SMTP oder eine HTTP-E-Mail-API.
Was ist der Unterschied zwischen IMAP und POP3?
Beide rufen E-Mails ab, aber IMAP behält das Postfach auf dem Server und synchronisiert den Status über alle Clients hinweg. POP3 lädt Nachrichten traditionell auf einen einzelnen Client herunter und bietet daher nicht denselben gemeinsamen Postfachstatus.
Welchen SMTP-Port sollte ich verwenden?
Verwenden Sie 587 für authentifizierte Submission mit STARTTLS oder 465 für eine implizit verschlüsselte Verbindung, wenn Ihr Client dies erwartet. Port 25 ist für Server-zu-Server-Relay gedacht und wird für die direkte Client-Nutzung häufig blockiert. Welchen SMTP-Port sollte ich verwenden? vergleicht die Ports und ihre Rollen.
Kurz gesagt
SMTP sendet und leitet E-Mails weiter.
Es transportiert eine Nachricht von einem Client oder einer Anwendung zum nächsten Mailserver und dann über Relay-Hops zum Empfänger.
IMAP ruft ein Postfach ab und synchronisiert es.
Es ermöglicht Clients, Nachrichten zu lesen und Ordner, Flags sowie den Lesestatus mit dem Server abzugleichen.
Reply-Codes zeigen Ihnen den nächsten Schritt.
Ein 2xx-Code bedeutet, dass der Befehl abgeschlossen ist, ein 4xx-Code ist temporär, und ein 5xx-Code erfordert eine Korrektur vor dem erneuten Versuch.
Birds SMTP-Relay-Leitfaden behandelt die Einrichtung des Versands.
Verwenden Sie ihn für Host, Ports, Authentifizierungsablauf und SMTP-spezifische Details zur Fehlerbehebung.
