gids · postmark api

Hoe implementeert een productteam de Postmark API veilig?

Implementeer de Postmark API achter een geautoriseerde serverworker. Verifieer het verzenddomein of de sender signature, isoleer elke omgeving en workload in de juiste Postmark-server en message stream, bewaar het server token in een secretmanager en leg een duurzame verzendjob in de applicatie vast voordat je POST /email aanroept. Dien alleen goedgekeurde velden in, bewaar de MessageID en de exacte ErrorCode van Postmark en beschouw acceptatie door de API als bewijs van verwerking, niet van bezorging. Beveilig en ontdubbel webhooks voor bezorging en bounces, dwing suppressies van ontvangers af vóór elke verzending, reconcilieer dubbelzinnige timeouts en test rotatie, gedeeltelijke fouten, retries en export vóór productie.

Bepaal de applicatiegrens vóór Postmark

Begin bij een geautoriseerd bedrijfsevent, zoals een ontvangstbewijs, verificatie, aangevraagde melding of beveiligingsmelding. Leg een duurzame uitgaande job vast met een stabiele eventsleutel, tenant, berichtklasse, templaterevisie, goedgekeurde afzender en ontvangers, de grondslag van toestemming of noodzaak, de huidige suppressiebeslissing en de beginstatus. Browser-, mobiele, template- en gebruikersinvoer mag geen Postmark-server token, willekeurige From-identiteit, message stream, webhook, onbeperkte ontvanger of providermetadata kiezen. Zet alle provideraanroepen achter één server-side adapter. Scheid transactioneel verkeer van broadcast- of marketingverkeer volgens het toestemmings- en reputatiemodel van het product. De API van Postmark transporteert een bericht; hij stelt geen tenantautorisatie, toestemming van ontvangers of zakelijke idempotentie vast. Claim de interne job één keer, registreer elke poging bij de provider en bewaar provider-identifiers als bewijs dat aan het applicatie-event is gekoppeld, in plaats van ze als enige bron van waarheid te gebruiken.

Gebruik server tokens met een smalle operationele scope

De e-mail-API van Postmark documenteert de X-Postmark-Server-Token-header voor API-toegang per server. Bewaar elk token in een beheerde secretdienst en stel het alleen beschikbaar aan de worker die die server en omgeving nodig heeft. Zet tokens nooit in clientcode, versiebeheer, URL's, logs, analytics, templates, screenshots, tickets, prompts of testfixtures. Scheid productie van ontwikkeling en van ongerelateerde producten, zodat intrekking of misbruik een begrensde impact heeft. Oefen rotatie: maak via goedgekeurd beheer een vervanger aan, werk de worker bij, stuur gecontroleerde berichten, bevestig het bewijs uit de API en de events en trek daarna het oude token in. Behandel onverwachte authenticatiefouten als reden om te pauzeren, niet als uitnodiging om credentials snel opnieuw te proberen. Beperk het beheer van het dashboard met sterke authenticatie en rollen. Een server token autoriseert API-bewerkingen van Postmark voor de bijbehorende server; de applicatie moet nog steeds de tenant, afzender, ontvanger, template en berichtklasse autoriseren.

Verifieer de exacte afzenderidentiteit

Gebruik een sender signature of geverifieerd domein dat door de organisatie wordt beheerd en controleer het exacte From-adres dat elke stroom gebruikt. Inventariseer op basis van ruwe ontvangen voorbeelden het zichtbare From-domein, het SMTP-return path, het DKIM-d=-domein en de selector, het antwoordadres en de message stream waarmee verzonden wordt. Publiceer alleen de DNS-records die Postmark momenteel voor de gekozen opzet vereist, nadat je het bestaande eigendom van SPF, DKIM en DMARC hebt beoordeeld. Bewaar eerdere waarden en rollbackinstructies. Verificatie door de provider bewijst dat de configuratiecheck is geslaagd; het bewijst niet dat elk applicatiepad die identiteit gebruikt, dat DMARC is uitgelijnd, dat ontvangers toestemming hebben gegeven of dat berichten in inboxen belanden. Houd afzenderautorisatie per tenant in de applicatie en blokkeer From-waarden van andere tenants. Test subdomeinen, antwoorden, bounces, lagere omgevingen en templatepaden. Verzwak het SPF- of DMARC-beleid van de organisatie niet alleen om een indicator in een dashboard groen te krijgen.

Bouw één expliciet POST-e-mailrequest

Postmark documenteert POST /email met JSON-velden voor afzender, ontvangers, onderwerp, tekst- of HTML-body, ReplyTo, headers, tags of metadata, message stream, bijlagen en trackingopties. Stel alleen de velden beschikbaar die het product nodig heeft. Valideer en normaliseer adressen, begrens het aantal ontvangers en bijlagen, weiger header-injectie, escape templatewaarden per uitvoercontext en genereer tekst en HTML uit één goedgekeurde revisie. Zet geen secrets of onnodige persoonsgegevens in tags, metadata, headers, onderwerpen of bijlagenamen, want die kunnen opduiken in de activiteit en events bij de provider. Kies MessageStream uit vertrouwde configuratie, nooit uit willekeurige request-invoer. Houd de providerpayload in één adapter, zodat bedrijfscode niet afhankelijk is van elk Postmark-veld. Sla een inhoudsrevisie of een privacyveilige hash op als auditbehoeften dat rechtvaardigen, in plaats van de volledige berichtbody te loggen.

Interpreteer de directe respons strikt

Het endpoint van Postmark voor één e-mail documenteert responsvelden waaronder ErrorCode, Message, MessageID, SubmittedAt en ontvangerinformatie. Sla de exacte HTTP-status en de gestructureerde providerrespons op bij de poging in de applicatie. Een geslaagde respons en MessageID tonen aan dat Postmark het API-request volgens de gedocumenteerde semantiek heeft geaccepteerd; ze tonen niet aan dat de bestemmingsserver het bericht heeft geaccepteerd of dat het een inbox heeft bereikt. Classificeer fouten in validatie, sender signature, authenticatie, misvormde payloads, quota en beleid voordat je iets opnieuw probeert. Een request-timeout is dubbelzinnig, want Postmark kan de bewerking hebben geaccepteerd terwijl de client de respons heeft gemist. Houd die poging op onbekend, zoek in de provideractiviteit of latere events met veilige correlatiegegevens en pas een reconciliatieregel per berichtklasse toe voordat je opnieuw verstuurt. Beloof nooit exactly-once-bezorging en maak geen nieuw logisch event aan alleen omdat één HTTP-request is mislukt.

Ontwerp retries rond bewijs van provider en transport

Probeer alleen geschikte netwerkfouten, rate limits en serverfouten van de provider opnieuw, met exponential backoff, jitter, een eindig aantal pogingen en limieten op de leeftijd in de wachtrij. Corrigeer permanente fouten in request, afzender, ontvanger, token, template en beleid in plaats van ze opnieuw af te spelen. Behoud dezelfde eventsleutel in de applicatie en registreer gekoppelde pogingen. Controleer suppressie en autorisatie opnieuw vlak voor elke retry, want de status van de ontvanger of het bedrijf kan veranderen terwijl het bericht in de wachtrij staat. Beperk gelijktijdigheid en snelheid per server, tenant, message stream, afzenderdomein en bestemmingscohort, zodat één storing niet alle capaciteit opslokt. Stop bij verlopen events, ingetrokken afzenderidentiteit, een klacht, afmelding, permanente ontvangerfout of een pauze wegens een incident. Monitor de leeftijd van retries, onbekende uitkomsten, responsklassen, tokenfouten en de latency van de provider. Als Postmark na acceptatie zelf al SMTP-retries verderop uitvoert, bouw daar dan geen agressieve dubbele lus in de applicatie bovenop.

Beveilig webhooks voor bezorging en bounces

Configureer alleen de Postmark-webhooktypen die de applicatie nodig heeft en gebruik HTTPS. Pas de actueel gedocumenteerde beveiligingsmaatregelen voor webhooks toe, beperk het endpoint tot de verwachte server of stream, dwing grenzen af voor requestgrootte en content-type, en vertrouw nooit op bericht-ID's, ontvangers, tags, metadata of diagnostiek alleen omdat de JSON te parsen is. Sla het geauthenticeerde of anderszins veilig toegelaten event op of zet het in de wachtrij voordat je succes teruggeeft. Ontdubbel op een stabiele event-ID van de provider waar die beschikbaar is, of op een voorzichtige samengestelde sleutel die geen ontvangers, eventtypen of pogingen kan samenvoegen. Houd het tijdstip van optreden en van verwerking gescheiden. Reken op vertraging, retries, duplicatie en levering in de verkeerde volgorde. Koppel MessageID en vertrouwde metadata aan de interne tenant en job voordat je de status wijzigt. Roteer webhookcredentials of -URL's onafhankelijk van API-tokens, monitor onbevoegde requests en vertraging, en bewaar ruwe payloads alleen zo lang als operationele en beleidsmatige behoeften dat rechtvaardigen.

Modelleer statussen voor bezorging, bounces en suppressie

Koppel bezorg- en bouncebewijs van Postmark aan een intern model per ontvanger, met behoud van het oorspronkelijke providertype, de MessageID, het tijdstip, de status- of bounceclassificatie en de diagnostiek. Acceptatie door de API, verwerking door Postmark, acceptatie door de bestemmingsserver, latere niet-bezorging, plaatsing in een map in de mailbox en betrokkenheid zijn verschillende statussen. Een delivered-event geeft normaal gesproken de gedocumenteerde waarneming van de provider bij de bestemmingsserver weer, geen blik in de uiteindelijke map. Tijdelijke fouten kunnen begrensde afhandeling in het transport rechtvaardigen; bevestigde permanente adresfouten moeten tot suppressie van die ontvanger leiden. Klachten en afmeldingen moeten de veiligheidsstatus van de ontvanger bijwerken vóór latere jobs. Bescherm handmatige heractivering met autorisatie, een reden en auditgeschiedenis. Houd de status van toestemming en suppressie in je eigen product bij, zodat een migratie de bescherming van ontvangers niet wist. Leid uit open- of clicktracking niet af dat een mens het bericht heeft gelezen; dat is meetinstrumentatie voor betrokkenheid en kan door privacytechnologie worden beïnvloed.

Test sandbox-, productie- en foutpaden

Gebruik voor deterministische fouten de gedocumenteerde test- of sandboxfaciliteiten van Postmark en speciale gecontroleerde ontvangers, geen echte klantadressen. Test geldige en ongeldige tokens, niet-geautoriseerde From-identiteiten, goedgekeurde en geblokkeerde ontvangers, tekst en HTML, Unicode, bijlagen, minimale metadata, message streams, een request-timeout vóór en na acceptatie, rate-responses, webhookauthenticatie, dubbele levering, events in de verkeerde volgorde, bounceclassificaties, suppressie en tokenrotatie. Controleer ruwe ontvangen headers, DKIM- en DMARC-alignment, Reply-To, trackingconfiguratie en MessageID-correlatie. Bevestig dat lagere omgevingen geen productieontvangers kunnen bereiken. Voer export- en migratietests uit voor suppressies en operationeel bewijs. Laat de lancering niet doorgaan bij toegang tot afzenders of events van andere tenants, niet-beschikbare handhaving van suppressies, dubbelzinnige toelating van webhooks, secrets in logs, onbegrensde retries of het onvermogen om de betrokken server of stream veilig te pauzeren.

Hoe SendHQ past

SendHQ is een e-mail-API per workspace voor verwachte productcommunicatie. De openbare documentatie behandelt verzending vanaf geverifieerde domeinen, inkomende e-mail, gehoste templates, bezorgevents, suppressies en een webdashboard.

Veelgestelde vragen

Met welk endpoint verstuur je één e-mail via Postmark?

De huidige e-mail-API van Postmark documenteert POST /email met een server token en gestructureerde JSON-velden voor het bericht. Roep hem alleen aan vanuit geautoriseerde servercode.

Waar bewaar je een Postmark-server token?

Bewaar het in een beheerd server-side secretsysteem, met een smalle scope per omgeving en workload, geauditeerde toegang, geteste rotatie en zonder blootstelling aan de client.

Bewijst een geslaagde respons van de Postmark API dat het bericht is afgeleverd?

Nee. Het registreert acceptatie door de provider onder het directe API-contract. Acceptatie door de bestemmingsserver, bounces, plaatsing in de mailbox en betrokkenheid vereisen later bewijs met een afgebakende reikwijdte.

Hoe probeer je request-timeouts bij Postmark opnieuw?

Behandel een timeout na een mogelijke submission als dubbelzinnig. Reconcilieer de provideractiviteit of latere events voordat je opnieuw verstuurt, met dezelfde duurzame sleutel voor het bedrijfsevent.

Mag je ervan uitgaan dat Postmark-webhooks uniek en geordend zijn?

Nee. Ontwerp voor vertraging, retries, duplicatie en aankomst in de verkeerde volgorde. Beveilig de toelating, leg events duurzaam vast, ontdubbel ze en pas monotone overgangen per ontvanger toe.

Mag metadata in Postmark geheimen van klanten bevatten?

Nee. Gebruik begrensde, privacyveilige correlatiewaarden. Metadata, tags, headers, activiteitsweergaven, events, logs en exports kunnen die velden operationeel blootleggen.

Bewijst een delivered-event inboxplaatsing?

Nee. Het is providerbewijs met een beperkte reikwijdte, meestal acceptatie door de bestemmingsserver. Filtering door de ontvanger, mailboxregels, de uiteindelijke map en menselijke betrokkenheid blijven apart.

Waar vind ik de API-documentatie van SendHQ?

Zie de openbare documentatie van SendHQ voor de e-mail-API, verzending vanaf geverifieerde domeinen, inkomende e-mail, templates, bezorgevents en suppressies.

Bronnen