Outboundly
Een transactionele e-mail-API voor uw eigen mailserver — en alles wat nodig is om die e-mail ook echt te laten aankomen.
Uw applicaties versturen JSON via POST en krijgen een gecontroleerde verzending terug. Daarachter zit al het operationele werk dat niemand met de hand wil doen: verificatie van domeineigendom, DKIM-sleutelgeneratie, klaar-om-te-publiceren DNS-records, generatie en herlaad van mailserverconfiguratie, en TLS-certificaten die zichzelf verlengen.
90Dagen retentieplafond
0Opgeslagen berichtinhoud
11Talen voor clientcode
1,730Geautomatiseerde tests
Het probleem
Twee slechte keuzes: uw mail toevertrouwen aan een buitenlandse dienst, of Postfix handmatig beheren.
Hosted verzenddiensten zijn eenvoudig, maar sturen elke wachtwoordreset, factuur en melding die uw klanten ontvangen door infrastructuur onder een andere jurisdictie, geprijsd per duizend. Uw eigen Postfix draaien houdt de data bij u, maar geeft uw team DKIM-sleutels, DNS-records, virtuele mappings, certificaatvernieuwingen en een wachtrij die af en toe om drie uur 's nachts vastloopt.
01
Data verdwijnt
Elk geadresseerde en elke onderwerpregel wordt verwerkt buiten uw controle.
02
Geprijsd per duizend
Een factuur die meegroeit met iets wat uw product automatisch doet.
03
Handmatige aflevering
DKIM, SPF en DMARC ooit opgezet door iemand die intussen vertrokken is.
04
Geen antwoord om drie uur 's nachts
Mail zit vast en het enige gereedschap is een SSH-sessie en een man page.
De oplossing
Behoud uw eigen mailserver. Plaats er een volwaardige API en beheerconsole boven op.
01
De credential is de grens
Een API-key is beperkt tot specifieke mailboxen. Het verzendadres is nooit een parameter in het verzoek, dus een gecompromitteerde aanroeper heeft niets om over te liegen.
02
Gecontroleerd vóór verzending
De auditregel wordt geschreven vóór het transport wordt aangeroepen, in een eigen transactie. Een mislukte verzending is een geregistreerde fout, nooit een ontbrekende regel.
03
Berichtinhoud wordt nooit opgeslagen
Adressen, onderwerp, aantallen en resultaat worden geregistreerd — nooit de berichtinhoud. De retentie is een plafond in de code, geen instelling die iemand stilletjes kan verhogen.
Tegenover de alternatieven
01
Een hosted verzenddienst
Geprijsd per duizend berichten, met geadresseerden en onderwerpregels verwerkt buiten uw eigen omgeving.
02
Rechtstreekse SMTP vanuit de applicatie
Geen auditspoor, geen scoping van keys, geen retrybeleid en geen beheeroverzicht.
03
Handmatig beheerde Postfix
DKIM, DNS, mailservermappings en certificaten hangen allemaal af van iemands geheugen.
04
Een gedeeld relay-account
Eén credential die als iedereen kan verzenden, zonder mogelijkheid om toegang gericht in te trekken.
Mogelijkheden
01De e-mail-API
- Een JSON-verzend-endpoint aangeboden onder twee versieprefixen, met een build-falende test die voorkomt dat een controller stilletjes van de oudere versie verdwijnt
- Geadresseerden, kopieën, onderwerp, HTML-inhoud, bijlagen en antwoordadres, met standaardinstellingen per mailbox toegepast op elke verzending
- Limieten afgedwongen op drie onafhankelijke niveaus: 20 geadresseerden, 20 kopieën, 5 bijlagen, elk 10 MB, in totaal 25 MB — overschrijding leidt tot afwijzing, nooit tot stille afkapping
- Bewust geen veld voor blinde kopie in het verzoek — een blinde kopie is een mailboxbeleid, geen instelling van de aanroeper
- Aflevering wordt drie keer opnieuw geprobeerd met exponentiële backoff; permanente fouten worden niet herhaald
- Header-injectie wordt tegengegaan door regeleinden te verwijderen uit elke headerwaarde
02Domeinen, DNS en DKIM
- Eigendom onafhankelijk gecontroleerd via TXT en MX, elk apart bijgehouden, met een beheerdersoverride die in de service zelf wordt afgedwongen
- DKIM-sleutelgeneratie op 2048 bit, met ondertekeningstabellen die voor u worden onderhouden — de privésleutel komt nooit in de applicatie of database terecht
- Klaar-om-te-publiceren SPF-, DKIM-, DMARC- en MX-records, gepresenteerd in tabbladen met kopieerknoppen per veld
- Een begeleide verificatiepagina met een overzicht van instructies voor gangbare DNS-providers
- Bijlagetypes herkend via extensie; bestandsnamen worden geweigerd als ze pad- of shell-tekens bevatten
03Credentials, toegang en TLS
- API-keys worden veilig gegenereerd, enkel als hash opgeslagen, en exact één keer in leesbare vorm getoond
- Ingetrokken in plaats van verwijderd, zodat historische verzendingen hun auditspoor behouden
- Rechten per gebruiker en per mailbox voor primaire, verzend- en beheerrechten via een koppeltabel
- Mailboxwachtwoorden gehasht in het formaat dat de mailserver zelf verwacht
- Certificaten worden automatisch uitgegeven en verlengd, met ondersteuning voor zowel HTTP- als DNS-challenges
- Vernieuwing volgens een schema, standaard dertig dagen vóór verval
- Elk certificaat registreert uitgifte-, verval- en vernieuwingsdatum, serienummer, uitgever, challenge-type, laatste fout en aantal pogingen
04Mailserverbeheer en logconsole
- Generatie en herlaad van mappings — domeinen en mailboxen worden vanuit de database gerenderd, gecompileerd, gevalideerd en herladen op aanvraag of volgens schema
- Wachtrijbeheer: berichten weergeven en filteren, vasthouden, vrijgeven, opnieuw in de wachtrij plaatsen of verwijderen, individueel of in bulk
- Wachtrijstatistieken, aantallen per map, en overzichten per verzender en ontvanger
- Volledige berichtinspectie — envelop, headers en inhoud — voor alles wat vaststaat
- Doorzoek de mail-, fout-, waarschuwings- en systeemlogs, inclusief geroteerde en gecomprimeerde bestanden, met live tail
- Configuratiebestand-editor beperkt tot een toegestane lijst van mappen, met sjablonen, backups met tijdstempel, valideren, herladen en herstarten
- Doorlopende bescherming tegen command-injectie: toegestane commando's gevalideerd bij het opstarten, en identifiers en paden beperkt door patronen
05Auditregister en ontwikkelaarservaring
- Een regel voor elke verzendpoging, geschreven vóór het transport wordt aangeroepen, in een eigen transactie
- Registreert de key, applicatie, mailbox, adressen, onderwerp, aantallen, tijd, status, aantal pogingen en fout — nooit de berichtinhoud
- Retentie vastgeklonken op negentig dagen in de code, wat gelogd wordt als een grotere waarde wordt aangevraagd
- Verwijdering verloopt in begrensde batches, waarbij eerst rijen en dan bestanden worden verwijderd, gevolgd door volledige datummappen
- Een ingebouwde API-verkenner met gegroepeerde operaties, schematabellen en een live testformulier
- Gegenereerde clientcode in elf talen, waaronder COBOL, Fortran en RPG, met vijfentwintig extra voorbeelden op de publieke site
- Een SMS-wachtrij met regels op basis van bestemmingsprefix en een API waarmee een externe gateway berichten kan ophalen en rapporteren
06Beveiliging & governance
- API-sleutels gehasht in rust, eenmalig getoond, intrekbaar en beperkt tot afzonderlijke mailboxen
- bcrypt voor gebruikerswachtwoorden; het eigen hashformaat van de mailserver voor mailboxen
- Rate limiting op aanmelden, registratie, validatie en testpaden, met de hint voor een nieuwe poging teruggestuurd naar de aanroeper
- Bescherming tegen request forgery op de beheerpagina's, waarbij de fetch- en interactielagen zijn aangepast om het token mee te sturen
- Geharde cookies; header injection geblokkeerd op elke parameter die in een header terechtkomt
- Bescherming tegen command injection: shellcommando's op een allow-list, gevalideerd bij het opstarten, identifiers beperkt door patronen en een allow-list van mappen voor configuratiewijzigingen
- Bescherming tegen mass assignment op de wizardformulieren en bij registratie
- Auditregels weggeschreven vóór het verzenden, en een maximale bewaartermijn van negentig dagen, vastgelegd in de code
- Scannen van afhankelijkheden op kwetsbaarheden beschikbaar in de build, met verschillende fixes expliciet vastgezet
■Java 21 op Spring Boot; PostgreSQL-database
■26 controllers onder twee API-versieprefixen, met OpenAPI en een ingebouwde verkenner
■Server-side gerenderde front end met handgeschreven JavaScript — geen packagemanager, geen bundler
■Geautomatiseerde uitgifte en vernieuwing van TLS met ondersteuning voor HTTP- en DNS-challenges
■Eén node, service unit en reverse proxy; installatiehandleiding behandelt ook een geclusterde mailtopologie
■1.730 tests verspreid over 111 classes — ruwweg één regel testcode per regel productiecode
Sectoren
Voor wie het werkt
Softwareleveranciers
Wachtwoordresets, meldingen en ontvangstbewijzen uit uw product, met sleutels per applicatie en mailbox zodat geen klant als een andere verzendt.
Managed service providers
Transactionele mail voor vele klantapplicaties, verstuurd vanaf infrastructuur die u al draait en al factureert.
Hostingproviders
De console voor wachtrij, logs en configuratie maakt van mailsupport een scherm dat een junior kan gebruiken, in plaats van een SSH-sessie.
Privacybewuste organisaties
Er wordt nooit berichtinhoud bewaard en het auditvenster is hard begrensd op negentig dagen: een verdedigbaar antwoord in plaats van een beleidsdocument.
Overheid
Selfhosted en Europees, waar burgercorrespondentie via een buitenlandse dienst versturen niet aanbesteedbaar is.
Zorggerelateerde organisaties
Afspraak- en resultaatmeldingen waarbij de lijst van ontvangers zelf gevoelig is en binnen uw eigen omgeving moet blijven.
Financiële dienstverlening
Verzending van afschriften en waarschuwingen met een auditrecord per verzending en een ondertekend, verifieerbaar verzenddomein.
Belgische & Benelux-bedrijven
Gebouwd in België: Europese hosting, Europese standaarden en een beheermodel dat ervan uitgaat dat u de mailserver zelf bezit.
Legacy-integratiehuizen
Clientcode gegenereerd voor COBOL, Fortran en RPG naast moderne talen, voor mainframe- en midrange-omgevingen.
Toepassingen in de praktijk
Voorbeeldscenario’s
01 · Softwareleveranciers
Afgebakende verzendsleutels in plaats van één gedeelde relay-account
- Uitdaging
- Een SaaS-leverancier verstuurde wachtwoordresets en facturen voor al zijn klantomgevingen via één SMTP-relay-account. Die login kon als elk adres verzenden, er was geen spoor van wat vertrok, en een mislukte verzending verdween gewoon.
- Aanpak
- Elke applicatie krijgt een eigen API-sleutel, beperkt tot specifieke mailboxen, gehasht opgeslagen en slechts één keer getoond; het afzenderadres volgt uit de sleutel, nooit uit het verzoek. Elke poging krijgt een auditrij vóór het transport wordt aangesproken, en aflevering wordt drie keer opnieuw geprobeerd met exponentiële backoff.
- Resultaat
- Een gelekte sleutel wordt voor één applicatie ingetrokken zonder de andere te raken, en support kan in het auditrecord nagaan of een bericht vertrokken is.
02 · Hostingproviders
Vastgelopen mail afhandelen vanuit een console, niet via SSH
- Uitdaging
- Een hostingbedrijf draait Postfix voor zijn klanten, en slechts één senior engineer kende de commando's om de wachtrij te bekijken of leeg te maken. Liep de mail 's nachts vast, dan wachtten tickets tot die persoon beschikbaar was.
- Aanpak
- De beheerconsole toont en filtert de wachtrij, laat envelop, headers en inhoud van een vastgelopen bericht zien, en houdt berichten vast, geeft ze vrij, zet ze opnieuw in de wachtrij of verwijdert ze, afzonderlijk of in bulk. Mail-, fout- en systeemlogs, ook geroteerde en gecomprimeerde bestanden, zijn doorzoekbaar met live tail, en configuratiewijzigingen worden vanuit hetzelfde scherm geback-upt, gevalideerd en herladen.
- Resultaat
- Eerstelijnsmedewerkers kunnen een vastgelopen wachtrij zelf analyseren en vrijmaken, en de senior engineer komt enkel nog tussen bij echte configuratieproblemen.
03 · Overheid
Meldingen aan burgers vanaf een geverifieerd, selfhosted verzenddomein
- Uitdaging
- Een lokaal bestuur verstuurt updates over vergunningen en afspraakbevestigingen vanuit zijn dossierbeheersoftware. Een hosted verzenddienst buiten de EU was onder de GDPR uitgesloten, en de eigen Postfix had DKIM- en DNS-records die jaren geleden waren opgezet door iemand die intussen vertrokken was.
- Aanpak
- Outboundly verifieert het domein via TXT en MX, genereert een DKIM-sleutel van 2048 bits en levert kant-en-klare SPF-, DKIM-, DMARC- en MX-records aan, met een begeleide verificatiepagina. TLS-certificaten worden automatisch uitgegeven en vernieuwd, en het auditrecord bewaart adressen, onderwerp en resultaat, nooit de berichtinhoud, en dat hoogstens negentig dagen.
- Resultaat
- Burgermail vertrekt vanaf de eigen infrastructuur van het bestuur op een ondertekend domein, en de functionaris voor gegevensbescherming heeft een concreet antwoord op wat bewaard wordt en hoe lang.
Licentie
Per implementatie. Nooit per gebruiker.
Outboundly wordt gelicentieerd per installatie, niet per duizend verzonden berichten. De jaarlijkse licentie wordt berekend op uw eigen omzet volgens een marginaal schema, met een minimum van €900 en een jaarlijkse stijging van maximaal 25%. Hosting en hardware zijn voor uw rekening; consultancy, opzet, migratie en training worden apart geoffreerd.
Jaarlijkse licentie volgens omzet, excl. btw
| Omzet | Per jaar |
| Tot €500.000 | €900 |
|---|
| €1 mln | €1.500 |
|---|
| €5 mln | €2.500 |
|---|
| €25 mln | €5.500 |
|---|
| €100 mln | €13.000 |
|---|
| €500 mln | €37.000 |
|---|
| €1 mld | €52.000 |
Ter illustratie: een gehoste verzenddienst aan €0,80 per duizend berichten factureert een jaar van twintig miljoen berichten €16.000; bij een omzet van €5 miljoen is dit €2.500.
Wat het doet
- 01Een gecontroleerde verzend-API boven op uw eigen Postfix — geen hosted verzenddienst, geen prijs per duizend.
- 02Berichtinhoud wordt nooit opgeslagen; de retentie is vastgeklonken op negentig dagen in de code, geen instelling.
- 03Clientcode gegenereerd in elf talen, waaronder COBOL, Fortran en RPG, voor legacy-omgevingen.
In het kort
CategorieE-mailbezorging
LicentiePer implementatie, onbeperkt gebruikers, vanaf €900 per jaar
Voor wieSoftwareleveranciers · MSP's · Hostingproviders · Privacygedreven kopers
Richt er één domein op.
Verifieer het, genereer de DKIM-sleutel, publiceer de vier records die wij u bezorgen en verstuur één bericht. Dat kost een namiddag.Start het gesprek →