In SMTP (Simple Mail Transfer Protocol) bestaat er geen concept van een formeel gedefinieerd 'pull-protocol'. SMTP is in wezen een *push*-protocol. Dit betekent dat een mailclient of server een e-mailbericht actief *pusht* naar de ontvangende mailserver. Er bestaat geen mechanisme waarmee een client op verzoek e-mails van een server kan opvragen ("pull"), zoals bijvoorbeeld POP3 of IMAP dat doet.
Hoewel u e-mails niet direct kunt "ophalen" met behulp van de kernopdrachten van SMTP, kan het effect van het ophalen in specifieke scenario's *gesimuleerd* of *geschat* worden, vaak met een aangepaste extensie of interactie met andere protocollen:
Benaderingen van "Pulling" met SMTP:
1. Een speciaal pollingmechanisme gebruiken: Een client kan periodiek verbinding maken met de SMTP-server met behulp van een afzonderlijk mechanisme (bijvoorbeeld een cron-taak of een geplande taak) en vervolgens proberen berichten op te halen met behulp van een aangepaste SMTP-extensie of een geheel ander protocol (zoals POP3 of IMAP achter de schermen). De client initieert de verbinding en controleert op nieuwe e-mail; dit is geen echte SMTP-pulling, maar het bereiken van een vergelijkbaar resultaat.
2. Meldingsservices (bijvoorbeeld met behulp van een aangepaste SMTP-extensie of een afzonderlijk meldingsprotocol): De ontvangende server kan een systeem implementeren dat de verzendende server op de hoogte stelt wanneer een bericht is afgeleverd. Dit is op zichzelf niet aantrekkelijk, maar het stelt de afzender in staat op de hoogte te worden gesteld van de bezorging, waardoor indirect een reactiemechanisme wordt geboden dat tot acties kan leiden. Meestal gaat het om out-of-band-communicatie die verder gaat dan de standaard SMTP-opdrachten.
3. Services van derden: Cloudgebaseerde e-mailservices of andere e-mailbeheersystemen bieden mogelijk API's of interfaces waarmee u berichtinformatie of -status kunt ophalen, waardoor effectief een 'pull'-effect wordt bereikt, maar dit is afhankelijk van iets *anders* dan het basis-SMTP-protocol.
Waarom SMTP geen pull-functionaliteit heeft:
Het ontwerp van SMTP geeft prioriteit aan een betrouwbare en efficiënte *aflevering* van berichten. Een "pull"-mechanisme zou vereisen dat de server voortdurend controleert op clientverzoeken en statusinformatie bijhoudt over welke berichten zijn afgeleverd of gelezen, wat de complexiteit en overhead vergroot. POP3 en IMAP zijn specifiek ontworpen om het ophalen van berichten aan de clientzijde aan te pakken.
Samenvattend kunt u SMTP-opdrachten niet gebruiken om rechtstreeks e-mails op te halen. Elke schijnbare ‘pull’-functionaliteit wordt bereikt via indirecte methoden, tijdelijke oplossingen of integraties met andere protocollen. Het gebruik van POP3 of IMAP is de standaardmanier om e-mails van een server op te halen. |