Functies Hoe het werkt Prijzen Contact Inloggen
Laatst bijgewerkt: 14 oktober 2026

Klant-API: bepaal vanaf uw eigen server wat er met uw e-mail gebeurt

Ontdek hoe de optie "Klant-API" van de Clean Mailbox-interface uw e-mail naar een URL stuurt die u zelf host en hoe uw server antwoordt met de te nemen actie: niets doen, taggen of blokkeren.

Bètafunctie: de klant-API bevindt zich momenteel in bèta. Het gedrag en de interface kunnen veranderen en er kunnen nog kinderziektes zijn. Stuur ons gerust uw feedback.

Waarvoor het dient

De filters van Clean Mailbox zijn gebaseerd op onze engines en, met de module Yara-regels, op patronen die u zelf schrijft. De Klant-API gaat verder: uw eigen server neemt de beslissing. Voor elke e-mail die uw domein ontvangt, stuurt Clean Mailbox het bericht naar een HTTPS-URL die u host, en uw server antwoordt wat ermee moet gebeuren.

Het is de juiste optie wanneer uw beslissing afhangt van gegevens die Clean Mailbox niet heeft: uw CRM (is de afzender een bekende klant?), een interne leverancierslijst, uw eigen analyse-engines, complexe bedrijfsregels enzovoort.

Inhoud van e-mails: als u deze optie inschakelt, wordt de volledige inhoud van uw e-mail verzonden naar de server waarvan u de URL opgeeft. Zorg dat die hosting aan uw beveiligings- en privacyeisen voldoet (met name de AVG).

Uw URL opgeven

Open in de Clean Mailbox-interface uw domein en vervolgens het menu Klant-API. De module is voorbehouden aan domeinbeheerders en moet op het domein zijn ingeschakeld: ziet u het menu-item niet, neem dan contact met ons op om het te laten activeren.

  1. Voer uw API-URL in, bijvoorbeeld https://api.example.com/clean-mailbox, en sla op.
  2. Er wordt automatisch een ondertekeningsgeheim gegenereerd en op de pagina weergegeven (knoppen Tonen en dan Kopiëren). U hebt het nodig in uw code om te controleren waar verzoeken vandaan komen.
  3. Om de optie te verwijderen, wist u het veld en slaat u op (of gebruikt u API verwijderen): het geheim wordt tegelijkertijd verwijderd.

De URL moet aan de volgende regels voldoen:

Filtert u inkomende verbindingen op IP-adres, vraag dan ons supportteam om de lijst van analyseservers van Clean Mailbox die u moet toestaan. Als het geheim opnieuw wordt gegenereerd (knop Nieuw geheim genereren), werkt het vorige onmiddellijk niet meer: werk uw server dan direct bij.

Het verzoek van Clean Mailbox

Clean Mailbox stuurt een HTTPS-POST naar uw URL. De body is de ruwe e-mail zoals die is ontvangen (headers en daarna inhoud, met de oorspronkelijke coderingen: base64, quoted-printable enz.), tot 5 MB. Daarboven wordt de e-mail niet naar de API gestuurd maar afgeleverd.

HeaderWaarde
Content-Typemessage/rfc822
X-CMB-API-Version1
X-CMB-Domainbetreffende ontvangerdomein
X-CMB-Recipientsontvangeradressen van dit domein, door komma's gescheiden
X-CMB-Envelope-Fromenvelope-afzender (leeg bij een bouncebericht)
X-CMB-Client-IPIP-adres van de server die de e-mail heeft verzonden
X-CMB-Queue-Idwachtrij-ID (handig om een geval aan ons te melden)
X-CMB-Timestampverzendtijd, in Unix-seconden
X-CMB-Signaturev1= gevolgd door de handtekening

De handtekening controleren

Iedereen die uw URL kent, kan er een verzoek naartoe sturen. Om zeker te weten dat een verzoek van Clean Mailbox komt, moet uw server de handtekening van elke aanroep controleren:

signature = hex( HMAC-SHA256( secret, timestamp + "." + body ) )
header    : X-CMB-Signature: v1=<signature>

waarbij timestamp de waarde van X-CMB-Timestamp is en body de ontvangen ruwe e-mail. Uw server moet:

  1. de handtekening opnieuw berekenen en in constante tijd vergelijken (hash_equals in PHP, hmac.compare_digest in Python);
  2. een verzoek weigeren waarvan de timestamp meer dan een paar minuten van de huidige tijd afwijkt (bescherming tegen replay);
  3. in beide gevallen 401 antwoorden: Clean Mailbox levert de e-mail dan af, u verliest niets.

Zet het geheim nooit in de URL of in een openbare repository. Zonder controle van de handtekening kan een derde uw API aanroepen en zich voordoen als Clean Mailbox.

Acties: niets doen, taggen, blokkeren

Uw server heeft maximaal 2 seconden om te antwoorden. De actie wordt gekozen in het antwoord, als JSON van maximaal 4 KB:

{ "action": "none | tag | block", "tag": "[Suspect]", "reason": "korte tekst, optioneel" }
Antwoord van uw serverEffect op de e-mail
204 No Content (geen body), of 200 met {"action": "none"} Niets doen: de e-mail wordt normaal afgeleverd.
200 met {"action": "tag", "tag": "[Suspect]"} Taggen: de e-mail wordt afgeleverd, met [Suspect] toegevoegd aan het begin van het onderwerp.
200 met {"action": "block", "reason": "short text"} Blokkeren: de e-mail wordt niet afgeleverd en de afzender ziet niets. Een kopie blijft bewaard in uw quarantaine.
Elk ander antwoord De e-mail wordt afgeleverd, er wordt niets gewijzigd.

Garanties en time-outs

De API kan er nooit voor zorgen dat een e-mail per ongeluk verloren gaat of wordt tegengehouden. Alleen een geldig antwoord "block" blokkeert; in alle andere gevallen wordt de e-mail normaal afgeleverd:

Voorbeeldserver

Een minimaal PHP-voorbeeld: het controleert de handtekening en antwoordt vervolgens op basis van een testtrefwoord in de e-mail. Vervang de testlogica door uw eigen controles.

<?php
const CMB_SECRET = 'PLAK_HIER_HET_GEHEIM';

$body = file_get_contents('php://input');
$ts   = $_SERVER['HTTP_X_CMB_TIMESTAMP'] ?? '';
$sig  = $_SERVER['HTTP_X_CMB_SIGNATURE'] ?? '';
$expected = 'v1=' . hash_hmac('sha256', $ts . '.' . $body, CMB_SECRET);

// Controleer de handtekening en de timestamp (maximaal 5 minuten)
if (!ctype_digit($ts) || abs(time() - (int) $ts) > 300 || !hash_equals($expected, $sig)) {
    http_response_code(401);
    exit;
}

header('Content-Type: application/json');

if (str_contains($body, '[BLOCK-ME]')) {
    echo json_encode(['action' => 'block', 'reason' => 'testtrefwoord']);
} elseif (str_contains($body, '[TAG-ME]')) {
    echo json_encode(['action' => 'tag', 'tag' => '[API test]']);
} else {
    echo json_encode(['action' => 'none']);
}

Uw configuratie testen

  1. Zet dit script op een HTTPS-server (geldig certificaat) en stel het in de interface getoonde geheim in.
  2. Geef de URL op in de pagina Klant-API van uw domein.
  3. Stuur een e-mail naar een adres van het domein met [TAG-ME] en daarna een andere met [BLOCK-ME] in het onderwerp.
  4. Controleer of de eerste aankomt met de tag [API test] en of de tweede wordt geblokkeerd (kopie in quarantaine).

Gebeurt er niets, dan is waarschijnlijk een van de regels van het contract niet nageleefd (handtekening, certificaat, time-out, HTTP-code): de e-mail wordt dan ongewijzigd afgeleverd.

De beslissingen volgen

E-mails die door uw API zijn afgehandeld, kunt u in de interface herkennen:

Veelgestelde vragen

Wat is het verschil met Yara-regels?

Yara-regels zijn patronen die u in de interface schrijft en die Clean Mailbox zelf evalueert, met de statussen inactief, audit en actief. De Klant-API draagt de beslissing over aan uw server, zodat u uw eigen gegevens en logica kunt gebruiken. Er is geen "audit"-modus: de actie die u teruggeeft wordt toegepast. Om veilig te testen antwoordt u none en logt u aan uw kant.

Wat gebeurt er als mijn server uitvalt?

De e-mail wordt normaal afgeleverd, zonder langs uw beslissing te gaan. Hij wordt niet tegengehouden en gaat niet verloren.

Gaat een geblokkeerde e-mail verloren?

Nee. Hij wordt bewaard in uw quarantaine, waar u hem kunt bekijken en bij een fout-positief kunt herstellen.

Kan ik de API voor al mijn domeinen tegelijk instellen?

De URL wordt momenteel per domein ingesteld. Een gemeenschappelijke URL voor alle domeinen van een account wordt voor later overwogen.

Hulp nodig bij het inschakelen van de optie?

Ons supportteam helpt u graag om de Klant-API op uw domein in te schakelen en de configuratie te valideren. Het ontwikkelen, hosten en beschikbaar houden van uw server blijft uw verantwoordelijkheid.

Contact opnemen met Clean Mailbox

Laten we uw mailbox beveiligen.

Vragen over de proefperiode, de installatie, de prijzen of een samenwerking? Wij zijn er — en we antwoorden snel.

30 dagen gratis proberen, geen kaart nodig
Werkt met elke mailserver
Installatie in minder dan 5 minuten
Infrastructuur gevestigd in Frankrijk

Wij spreken alleen Frans en Engels. Schrijft u ons gerust in het Frans of Engels.