API compatibile · SparkPost

API compatibile con SparkPost: cambi indirizzo e chiave

SMTP Senpai accetta le richieste di invio nello stesso formato dell’API Transmissions di SparkPost. Punti il codice su SMTP Senpai, usi la chiave msp_ e tieni il tuo SDK, i tuoi campi e la tua gestione degli errori.

14 giorni gratis · fino a 100 email al giorno · serve la carta · se non disdici entro 14 giorni parte il piano che hai scelto

  • Stessi percorsi, campi ed errori
  • Server di invio e registro in Europa
  • Prova gratis 14 giorni
Node.js · sparkpost 2.1.4 · cosa cambia
  const SparkPost = require('sparkpost');
- const client = new SparkPost(process.env.SPARKPOST_API_KEY);
+ const client = new SparkPost(process.env.SMTP_SENPAI_KEY, { // msp_…
+   origin: 'https://app.mailsenpai.com/relay/compat/sparkpost',
+ });
cosa cambia

Cambiano due cose, il resto resta

Stessi percorsi, stessi campi, stesse risposte e stessa forma degli errori dell’API Transmissions di SparkPost.

Indirizzo basehttps://app.mailsenpai.com/relay/compat/sparkpost
Oppure l’host dedicatohttps://sparkpost-api.mailsenpai.com
Dove va la chiaveAuthorization: msp_…
Percorsi (invariati)POST /api/v1/transmissions

Il mittente deve stare su un dominio verificato nella tua area SMTP Senpai e firmato DKIM: altrimenti la richiesta viene rifiutata con un errore nel formato di SparkPost. Per provare senza spedire usa options.sandbox: la richiesta viene controllata e non parte nulla.

il codice

Il tuo codice, puntato su SMTP Senpai

Node.js · sparkpost 2.1.4 · dopo
const SparkPost = require('sparkpost');
const client = new SparkPost(process.env.SMTP_SENPAI_KEY, { // msp_…
  origin: 'https://app.mailsenpai.com/relay/compat/sparkpost',
});

Provato con sparkpost 2.1.4: eseguito con l’SDK ufficiale contro gli endpoint di SMTP Senpai.

Altri linguaggi e framework

Impostazioni lette nel codice sorgente di ogni SDK: seguono la stessa regola (indirizzo base o host, più la tua chiave). Provale con un invio di prova prima di andare in produzione.

SDKImpostazioneStato
PHP sparkpost/sparkpostnew SparkPost($http, ['key' => $key, 'host' => 'sparkpost-api.mailsenpai.com'])Letto nel codice dell’SDK, non ancora provato
Python sparkpostSparkPost(key, base_uri='sparkpost-api.mailsenpai.com')Letto nel codice dell’SDK, non ancora provato
campi

Cosa funziona, cosa viene ignorato, cosa viene rifiutato

Funziona

recipients (address, header_to, substitution_data), content.from, subject, text, html, reply_to, headers (CC), attachments, inline_images, email_rfc822, substitution_data ({{name}}), options.sandbox, Idempotency-Key

Accettato senza effetto

campaign_id, metadata, description, options.open_tracking, click_tracking, transactional, ip_pool

Indicato nell’intestazione di risposta X-MailSenpai-Ignored.

Rifiutato con l’errore di SparkPost

content.template_id, recipients.list_id, options.start_time nel futuro (422)

Liste di destinatari e template salvati restano da te: manda nella richiesta i destinatari e il contenuto finale.

eventi e webhook

Gli esiti delle consegne dall’API di SMTP Senpai

Gli endpoint di SparkPost per log, eventi, statistiche e webhook non sono riprodotti. Gli esiti (sent, delivered, bounce, defer, complaint, dropped, open, click) arrivano dall’API di SMTP Senpai con la stessa chiave: GET /relay/v1/eventi, oppure un webhook firmato impostato nella tua area SMTP Senpai.

L’id nella risposta all’invio è il message_id di quegli eventi. Ogni risposta porta anche X-MailSenpai-Result (sent, queued, suppressed, failed).

Leggi il riferimento di eventi e webhook

Limiti. Fino a 50 destinatari per messaggio e 500 copie per richiesta (oltre 50 vanno in coda e partono entro circa un minuto), 10 allegati e 10 MB per messaggio. Template e invio programmato non sono supportati: manda il contenuto finale quando vuoi che parta.
Terminale · eventi di SMTP Senpai
curl "https://app.mailsenpai.com/relay/v1/eventi?quanti=50" \
  -H "Authorization: Bearer $SMTP_SENPAI_KEY"

# {"ok": true, "eventi": [{"type": "delivered",
#   "email": "…", "message_id": "…", …}], "prossimo": …}

Domande frequenti

Devo riscrivere il codice che usa SparkPost?

No. Cambi l’indirizzo base (o l’host) e la chiave. Percorsi, campi, risposte e formato degli errori restano quelli dell’API Transmissions di SparkPost, quindi il tuo SDK e la gestione degli errori continuano a funzionare.

E i template e l’invio programmato?

Non sono supportati: le richieste che li usano vengono rifiutate con l’errore nativo, così non parte nulla per sbaglio. Prepara il contenuto finale nel tuo codice e mandalo quando vuoi che parta.

Come ricevo rimbalzi, aperture e webhook?

Dall’API di SMTP Senpai, con la stessa chiave: GET /relay/v1/eventi oppure un webhook firmato impostato nella tua area SMTP Senpai. Gli endpoint di eventi e webhook di SparkPost non sono riprodotti.

Posso provare senza spedire?

Sì, come con SparkPost: imposta options.sandbox. La richiesta viene controllata e non parte nulla.

Posso continuare a spedire via SMTP?

Sì. Lo stesso account funziona anche via SMTP (relay.mailsenpai.com, porta 2525, STARTTLS) e con l’API REST di SMTP Senpai.

Prova SMTP Senpai con il tuo codice di oggi

14 giorni per cambiare indirizzo base e chiave, mandare le tue email vere e controllare ogni esito nel registro. Poi decidi.

SparkPost è un marchio del gruppo Bird (ex MessageBird). È citato solo per descrivere il formato di richiesta che SMTP Senpai accetta. MailSenpai non è affiliata a SparkPost né a Bird e questa pagina non è approvata da loro. Informazioni verificate il 9 ottobre 2026.

14 giorni gratisProva gratis