Email

Wat is SMTP, en wat is het verschil met IMAP?

SMTP is het protocol dat mail verzendt en relayt; IMAP haalt berichten op uit een mailbox en synchroniseert deze.

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?

VraagSMTPIMAP
HoofdtaakMail verzenden en relayenMailboxgegevens ophalen en synchroniseren
RichtingUitgaand naar een mailserver of relayTussen een mailboxserver en een client
ServerstatusEen server kan een bericht in de wachtrij plaatsen tot de volgende overdracht; SMTP definieert geen mailbox van een gebruikerDe server bewaart de mailboxkopie, mappen en berichtstatus
Typische clientVerzendapplicatie of mailclientMailclient die een inbox leest
Gangbare poorten587 voor submission, 465 voor impliciete TLS, 25 voor server-naar-server relay143 voor plain of STARTTLS, 993 voor impliciete TLS
Gebruik in een appBonnetjes, meldingen en andere berichten verzendenEen 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, ontvanger­acceptatie 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:

CodeklasseBetekenisVolgende stap
2xxHet commando is voltooidGa door met de transactie
3xxDe server heeft het commando geaccepteerd en verwacht meer invoerStuur het volgende deel, zoals de berichttekst na DATA
4xxTijdelijke foutHoud de verantwoordelijkheid voor het bericht en probeer opnieuw nadat de conditie van de server mogelijk is opgelost
5xxPermanente fout voor dat verzoekCorrigeer 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

  1. 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.

  2. IMAP haalt een mailbox op en synchroniseert deze.

    Het laat clients berichten lezen en mappen, vlaggen en leesstatus gesynchroniseerd houden met de server.

  3. 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.

  4. De SMTP relay-handleiding van Bird behandelt de verzendconfiguratie.

    Gebruik deze voor de host, poorten, authenticatiestroom en SMTP-specifieke troubleshootingdetails.

Bouw op hetzelfde netwerk.

Een test-API-key is direct beschikbaar. Productietoegang wordt ontgrendeld zodra u een betaalmethode toevoegt en een afzender verifieert.

Jouw volgende idee.
Klaar om te verbinden.