Funzionalità Come funziona Prezzi Contatti Accedi
Ultimo aggiornamento: 14 ottobre 2026

API cliente: decidi la sorte delle tue email dal tuo server

Scopri come l'opzione «API cliente» dell'interfaccia di Clean Mailbox invia le tue email a un URL che ospiti tu e come il tuo server risponde con l'azione da eseguire: non fare nulla, taggare o bloccare.

Funzionalità beta: l'API cliente è attualmente in versione beta. Il suo comportamento e la sua interfaccia possono cambiare e sono possibili alcune imperfezioni. Non esitare a inviarci il tuo feedback.

A cosa serve

I filtri di Clean Mailbox si basano sui nostri motori e, con il modulo Regole YARA, sui pattern che scrivi tu. L'API cliente va oltre: è il tuo server a prendere la decisione. Per ogni email ricevuta dal tuo dominio, Clean Mailbox invia il messaggio a un URL HTTPS che ospiti tu e il tuo server risponde indicando cosa farne.

È l'opzione giusta quando la tua decisione dipende da dati che Clean Mailbox non possiede: il tuo CRM (il mittente è un cliente noto?), un elenco interno di fornitori, i tuoi motori di analisi, regole aziendali complesse e così via.

Contenuto delle email: attivando questa opzione, il contenuto completo delle tue email viene inviato al server il cui URL dichiari. Assicurati che questo hosting rispetti i tuoi requisiti di sicurezza e riservatezza (in particolare il GDPR).

Dichiarare il tuo URL

Nell'interfaccia di Clean Mailbox, apri il tuo dominio, poi il menu API cliente. Il modulo è riservato agli amministratori del dominio e deve essere attivato sul dominio: se la voce di menu non è visibile, contattaci per farlo attivare.

  1. Inserisci il tuo URL dell'API, ad esempio https://api.example.com/clean-mailbox, poi salva.
  2. Un segreto di firma viene generato automaticamente e mostrato nella pagina (pulsanti Mostra e Copia). Ti servirà nel tuo codice per verificare la provenienza delle richieste.
  3. Per rimuovere l'opzione, svuota il campo e salva (oppure usa Rimuovi l'API): il segreto viene eliminato contemporaneamente.

L'URL deve rispettare queste regole:

Se filtri le connessioni in ingresso per indirizzo IP, chiedi al nostro supporto l'elenco dei server di analisi di Clean Mailbox da autorizzare. Se il segreto viene rigenerato (pulsante Genera un nuovo segreto), quello precedente smette di funzionare immediatamente: aggiorna subito il tuo server.

La richiesta inviata da Clean Mailbox

Clean Mailbox invia un POST HTTPS al tuo URL. Il corpo è l'email grezza, così com'è stata ricevuta (header e poi contenuto, con le codifiche originali: base64, quoted-printable, ecc.), fino a 5 MB. Oltre questo limite l'email non viene inviata all'API e viene consegnata.

HeaderValore
Content-Typemessage/rfc822
X-CMB-API-Version1
X-CMB-Domaindominio destinatario interessato
X-CMB-Recipientsindirizzi dei destinatari di questo dominio, separati da virgole
X-CMB-Envelope-Frommittente della busta (vuoto per un messaggio di rimbalzo)
X-CMB-Client-IPindirizzo IP del server che ha inviato l'email
X-CMB-Queue-Ididentificativo della coda (utile per segnalarci un caso)
X-CMB-Timestampora di invio, in secondi Unix
X-CMB-Signaturev1= seguito dalla firma

Verificare la firma

Chiunque conosca il tuo URL può inviargli una richiesta. Per essere certo che una richiesta provenga da Clean Mailbox, il tuo server deve verificare la firma di ogni chiamata:

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

dove timestamp è il valore di X-CMB-Timestamp e body l'email grezza ricevuta. Il tuo server deve:

  1. ricalcolare la firma e confrontarla in tempo costante (hash_equals in PHP, hmac.compare_digest in Python);
  2. rifiutare una richiesta il cui timestamp si discosta dall'ora attuale di più di qualche minuto (protezione contro il replay);
  3. rispondere 401 in entrambi i casi: Clean Mailbox consegna allora l'email, non perdi nulla.

Non inserire mai il segreto nell'URL né in un repository pubblico. Senza la verifica della firma, un terzo potrebbe chiamare la tua API fingendo di essere Clean Mailbox.

Azioni: non fare nulla, taggare, bloccare

Il tuo server ha al massimo 2 secondi per rispondere. L'azione viene scelta nella risposta, in JSON di al massimo 4 KB:

{ "action": "none | tag | block", "tag": "[Suspect]", "reason": "testo breve, facoltativo" }
Risposta del tuo serverEffetto sull'email
204 No Content (senza corpo), oppure 200 con {"action": "none"} Non fare nulla: l'email viene consegnata normalmente.
200 con {"action": "tag", "tag": "[Suspect]"} Taggare: l'email viene consegnata, con [Suspect] aggiunto all'inizio dell'oggetto.
200 con {"action": "block", "reason": "testo breve"} Bloccare: l'email non viene consegnata e il mittente non vede nulla. Una copia viene conservata nella tua quarantena.
Qualsiasi altra risposta L'email viene consegnata, nulla viene modificato.

Garanzie e timeout

L'API non può mai causare la perdita o il trattenimento accidentale di un'email. Solo una risposta «block» valida blocca; in ogni altro caso l'email viene consegnata normalmente:

Server di esempio

Un esempio minimo in PHP: verifica la firma, poi risponde in base a una parola chiave di test trovata nell'email. Sostituisci la logica di test con i tuoi controlli.

<?php
const CMB_SECRET = 'INCOLLA_QUI_IL_SEGRETO';
$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);
// Verifica la firma e il timestamp (5 minuti al massimo)
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' => 'parola chiave di test']);
} elseif (str_contains($body, '[TAG-ME]')) {
    echo json_encode(['action' => 'tag', 'tag' => '[Test API]']);
} else {
    echo json_encode(['action' => 'none']);
}

Testare la tua configurazione

  1. Distribuisci questo script su un server HTTPS (certificato valido) e imposta il segreto mostrato nell'interfaccia.
  2. Dichiara il suo URL nella pagina API cliente del tuo dominio.
  3. Invia un'email a un indirizzo del dominio con [TAG-ME], poi un'altra con [BLOCK-ME] nell'oggetto.
  4. Verifica che la prima arrivi con il tag [Test API] e che la seconda venga bloccata (copia in quarantena).

Se non succede nulla, probabilmente una delle regole del contratto non è rispettata (firma, certificato, timeout, codice HTTP): l'email viene allora consegnata senza modifiche.

Seguire le decisioni

Le email gestite dalla tua API possono essere individuate nell'interfaccia:

Domande frequenti

In cosa si differenzia dalle regole YARA?

Le regole YARA sono pattern che scrivi nell'interfaccia e che Clean Mailbox valuta direttamente, con gli stati inattiva, audit e attiva. L'API cliente affida la decisione al tuo server, così puoi usare i tuoi dati e la tua logica. Non ha una modalità «audit»: l'azione che restituisci viene applicata. Per testare in sicurezza, rispondi none e registra i log dalla tua parte.

Cosa succede se il mio server è inattivo?

L'email viene consegnata normalmente, senza passare dalla tua decisione. Non viene né trattenuta né persa.

Un'email bloccata va persa?

No. Viene conservata nella tua quarantena, dove puoi esaminarla e ripristinarla in caso di falso positivo.

Posso impostare l'API per tutti i miei domini in una volta sola?

L'URL è attualmente impostato dominio per dominio. Un URL comune per tutti i domini di un account è allo studio per il futuro.

Hai bisogno di aiuto per attivare l'opzione?

Il nostro supporto può aiutarti ad attivare l'API cliente sul tuo dominio e a convalidarne la configurazione. Lo sviluppo, l'hosting e la disponibilità del tuo server restano di tua responsabilità.

Contatta Clean Mailbox

Proteggiamo la tua casella.

Domande sulla prova, sulla configurazione, sui prezzi o su una partnership? Siamo qui — e rispondiamo in fretta.

Prova gratuita di 30 giorni, senza carta
Compatibile con qualsiasi server di posta
Configurazione in meno di 5 minuti
Infrastruttura ospitata in Francia