Panoramica
API email
Invia email transazionali con una sola richiesta HTTPS, poi programmale, annullale, ritentale o inoltrale. URL di base, autenticazione, funzioni e limiti.
L’API email invia email dalla tua applicazione tramite HTTPS invece che con una connessione SMTP. Usala per le email transazionali come conferme di registrazione, reimpostazioni della password, ricevute e avvisi, soprattutto quando ti servono template, programmazione, nuovi tentativi idempotenti e un ID separato per ogni destinatario.
Come funziona
- La tua applicazione chiama
POST /emailscon un indirizzo From su un dominio di invioDominio di invioUn dominio di tua proprietà che verifichi con record DNS perché Emailit possa inviare da esso con SPF, DKIM e un return path personalizzato. verificato, i destinatari e il contenuto o un template. - Emailit convalida la richiesta, addebita 1 credito per destinatario e crea un’email per ogni destinatario, ciascuna con il proprio ID
em_. - La risposta arriva subito con lo stato
accepted, oppurescheduledse hai impostato un orario di invio. La consegna avviene in background. - Emailit firma il messaggio con DKIM per il tuo dominio, esegue i controlli antispam e lo consegna. Gli errori temporanei vengono ritentati per circa 21 ore.
- Ogni cambio di stato compare in Email APIEmails e viene inviato ai tuoi webhook.
URL di base e autenticazione
| Elemento | Valore |
|---|---|
| URL di base | https://api.emailit.com/v2 |
| Autenticazione | Authorization: Bearer secret_•••• con una chiave API |
| Corpo della richiesta | JSON, inviato con Content-Type: application/json |
| Endpoint di invio | POST /emails |
Una chiave Full Access può chiamare ogni endpoint. Una chiave Sending Only può inviare, riprogrammare, annullare, ritentare e inoltrare email, e puoi limitarla a un solo dominio di invio. Vedi Autenticazione per i dettagli.
Invia un’email
curl https://api.emailit.com/v2/emails \
-H "Authorization: Bearer $EMAILIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Welcome to Acme",
"html": "<p>Thanks for signing up, Ada.</p>",
"text": "Thanks for signing up, Ada."
}'import { Emailit } from '@emailit/node';
const emailit = new Emailit(process.env.EMAILIT_API_KEY);
const email = await emailit.emails.send({
from: 'Acme <hello@acme.com>',
to: 'ada@example.com',
subject: 'Welcome to Acme',
html: '<p>Thanks for signing up, Ada.</p>',
text: 'Thanks for signing up, Ada.',
});
console.log(email.id);import os
from emailit import EmailitClient
client = EmailitClient(os.environ["EMAILIT_API_KEY"])
email = client.emails.send({
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Welcome to Acme",
"html": "<p>Thanks for signing up, Ada.</p>",
"text": "Thanks for signing up, Ada.",
})$emailit = Emailit::client(getenv('EMAILIT_API_KEY'));
$email = $emailit->emails()->send([
'from' => 'Acme <hello@acme.com>',
'to' => 'ada@example.com',
'subject' => 'Welcome to Acme',
'html' => '<p>Thanks for signing up, Ada.</p>',
'text' => 'Thanks for signing up, Ada.',
]);Una richiesta riuscita restituisce 200 con la nuova email:
{
"object": "email",
"id": "em_33VtK8mRq1xZp7LwN4cY2bHsDfa",
"token": "33VtK8m4XcPq2RwZ7nLb1YsTgHd",
"message_id": "<33VtK8m4XcPq2RwZ7nLb1YsTgHd@acme.com>",
"from": "Acme <hello@acme.com>",
"to": ["ada@example.com"],
"subject": "Welcome to Acme",
"status": "accepted",
"scheduled_at": null,
"created_at": "2026-10-01T09:30:12.418203Z",
"tracking": { "loads": false, "clicks": false }
}I nuovi workspace partono in modalità sandbox e possono inviare solo agli indirizzi email degli account dei membri del workspace. Richiedi l’accesso alla produzione prima di inviare a chiunque altro.
Cosa puoi fare
Limiti
| Limite | Valore |
|---|---|
| Destinatari per richiesta | 50 in to, 50 in cc e 50 in bcc |
| Dimensione del messaggio | 40 MB, allegati codificati compresi |
| Allegato scaricato da un URL | 25 MB, con un timeout di download di 30 secondi |
| Finestra di idempotenza | 24 ore |
| Frequenza di invio (predefinita) | 2 email al secondo e 5000 email al giorno per workspace, condivise con SMTP |
| Inoltro | 3 inoltri all’ora per workspace |
| Riprogrammare o annullare un’email programmata | Fino a 3 minuti prima dell’orario di invio |
| Finestra per i nuovi tentativi | 30 giorni dalla creazione dell’email originale |
I limiti di frequenza contano i destinatari, quindi una richiesta a 10 destinatari usa 10 unità della tua quota al secondo e giornaliera. I workspace Pro e Business ottengono aumenti automatici in base alla salute degli invii, e qualsiasi workspace può chiederne di più dal riquadro Sending Limits nella home del pannello. Vedi Limiti e quote e Limiti di frequenza.
Crediti
Ogni destinatario costa 1 credito, e contano tutti gli indirizzi in to, cc e bcc. Se il workspace non ha crediti sufficienti per tutti i destinatari, la richiesta non riesce con 402 e non viene inviato nulla. I nuovi tentativi e gli inoltri vengono addebitati come nuovi invii.
| Azione | Crediti |
|---|---|
| Email inviata con l’API o SMTP (per destinatario) | 1 |
| Email in entrata ricevuta | 1 |
| Email di una campagna (per destinatario) | 2 |
| Esecuzione di un’automazione | 3 |
| Verifica email (per indirizzo) | 5 |
Vedi Crediti per come vengono usati i crediti inclusi e quelli acquistati.