Een e-mailworkflow heeft een verzendstap en een mailboxstap. SMTP verzorgt de eerste; IMAP verzorgt de tweede.
Wat doet SMTP?
SMTP verzendt en relayt mail. Je applicatie of mailclient opent een verbinding met een SMTP-server, stuurt de afzender, ontvangers en het bericht, en ontvangt na elk commando een antwoord. Een relay kan vervolgens optreden als SMTP-client en het bericht doorgeven aan de volgende server.
Het protocol bepaalt niet hoe een mailbox wordt weergegeven of welke berichten een gebruiker heeft gelezen. Zijn taak is verzending en de overdracht van verantwoordelijkheid tussen servers.
Wat doet IMAP?
IMAP haalt berichten op uit een mailbox en synchroniseert de mailboxstatus. Een telefoon en een laptop kunnen dezelfde mappen, vlaggen en leesstatus tonen, omdat beide werken met de kopie op de server.
IMAP verstuurt geen nieuw bericht voor bezorging. Een client kan SMTP gebruiken om een antwoord te verzenden, en vervolgens IMAP gebruiken om de antwoordthread in de mailbox te lezen.
Hoe verhouden SMTP en IMAP zich tot elkaar?
| Vraag | SMTP | IMAP |
|---|---|---|
| Hoofdtaak | Mail verzenden en relayen | Mailboxgegevens ophalen en synchroniseren |
| Richting | Uitgaand naar een mailserver of relay | Tussen een mailboxserver en een client |
| Serverstatus | Een server kan een bericht in de wachtrij plaatsen tot de volgende overdracht; SMTP definieert geen mailbox van een gebruiker | De server bewaart de mailboxkopie, mappen en berichtstatus |
| Typische client | Verzendapplicatie of mailclient | Mailclient die een inbox leest |
| Gangbare poorten | 587 voor submission, 465 voor impliciete TLS, 25 voor server-naar-server relay | 143 voor plain of STARTTLS, 993 voor impliciete TLS |
| Gebruik in een app | Bonnetjes, meldingen en andere berichten verzenden | Een bestaande mailbox lezen of verwerken |
Het verschil in serverstatus bepaalt de protocolkeuze. SMTP kan een bericht in de wachtrij plaatsen tijdens bezorging, maar is geen mailboxopslag. IMAP is gebouwd rond een server-side mailbox die clients opnieuw bezoeken en synchroniseren.
Hoe kan een SMTP-conversatie een fout diagnosticeren?
Leg het commando en het antwoord dat erop volgt vast. SMTP is een stap-voor-stapgesprek: de client stuurt EHLO, MAIL FROM, RCPT TO en DATA, en de server beantwoordt elke stap. Het falende commando beperkt het probleem tot verbindingsopbouw, afzenderacceptatie, ontvangeracceptatie of berichtdata.
Dit korte voorbeeld bereikt bijvoorbeeld de berichttekst:
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
De 550 kwam na RCPT TO, dus de server wees het ontvangeradres af. Het is geen bewijs dat de netwerkverbinding of de afzenderidentiteit faalde. Een 4xx-antwoord bij dezelfde stap zou vragen om een retrybeleid in plaats van een onmiddellijke permanente fout.
RFC 5321 definieert het antwoordformaat en maakt de numerieke code het machineleesbare deel:
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.
Gebruik het eerste cijfer als eerste diagnostische splitsing:
| Codeklasse | Betekenis | Volgende stap |
|---|---|---|
2xx | Het commando is voltooid | Ga door met de transactie |
3xx | De server heeft het commando geaccepteerd en verwacht meer invoer | Stuur het volgende deel, zoals de berichttekst na DATA |
4xx | Tijdelijke fout | Houd de verantwoordelijkheid voor het bericht en probeer opnieuw nadat de conditie van de server mogelijk is opgelost |
5xx | Permanente fout voor dat verzoek | Corrigeer het adres, de credentials of het bericht voordat je het opnieuw probeert |
Lees het commando en de code samen. Een 535 na authenticatie wijst op credentials of authenticatiebeleid. Een 552 na DATA wijst op een groottelimiet. Een 421 tijdens verbindingsafhandeling wijst op een tijdelijke server- of verbindingslimiet.
Welk protocol heeft mijn applicatie nodig?
Gebruik SMTP als de applicatie mail verzendt. Gebruik IMAP als deze een bestaande mailbox leest en synchroniseert. Een applicatie die inkomende berichten moet verwerken, kan ook een inbound email API gebruiken, die geparseerde berichten aflevert zonder dat mailboxpolling nodig is.
Kies voor uitgaande mail tussen een SMTP-relay en een HTTP email API. SMTP past bij bibliotheken en systemen die het protocol al spreken. Een HTTP API past bij omgevingen waar het openen en beheren van SMTP-verbindingen onhandig is.
Hoe helpt Bird bij het verzenden via SMTP?
Om via Bird te verzenden, stel je de relay-host in voor de regio van je key, kies je poort 465, 587 of 2525, en authenticeer je met gebruikersnaam bird plus je API-key. De SMTP relay-handleiding beschrijft de verbindingslimieten en reply-codeafhandeling bij een mislukte overdracht.
Kan ik IMAP gebruiken om e-mail te verzenden?
Nee. IMAP haalt mailboxgegevens op en synchroniseert deze. Verzenden vereist SMTP of een HTTP email API.
Wat is het verschil tussen IMAP en POP3?
Beide halen mail op, maar IMAP bewaart de mailbox op de server en synchroniseert de status over meerdere clients. POP3 downloadt berichten traditioneel naar één client en biedt daardoor niet dezelfde gedeelde mailboxstatus.
Welke SMTP-poort moet ik gebruiken?
Gebruik 587 voor geauthenticeerde submission met STARTTLS, of 465 voor een impliciet versleutelde verbinding als je client dat verwacht. Poort 25 is voor server-naar-server relay en wordt vaak geblokkeerd voor direct clientgebruik. Welke SMTP-poort moet ik gebruiken? vergelijkt de poorten en hun rollen.
Kort gezegd
SMTP verzendt en relayt mail.
Het verplaatst een bericht van een client of applicatie naar de volgende mailserver, en vervolgens via relay-hops naar de ontvanger.
IMAP haalt een mailbox op en synchroniseert deze.
Het laat clients berichten lezen en mappen, vlaggen en leesstatus gesynchroniseerd houden met de server.
Reply-codes vertellen je wat je nu moet doen.
Een 2xx-code betekent dat het commando is voltooid, een 4xx-code is tijdelijk, en een 5xx-code vereist een correctie voordat je het opnieuw probeert.
De SMTP relay-handleiding van Bird behandelt de verzendconfiguratie.
Gebruik deze voor de host, poorten, authenticatiestroom en SMTP-specifieke troubleshootingdetails.
