API Email per Sviluppatori:
Costruisci con Gmail, Outlook e IMAP
Un riferimento pratico per gli sviluppatori che creano integrazioni email: confronta Gmail API, Microsoft Graph e IMAP, quindi scopri come un'unica API email per sviluppatori riduce settimane di codice boilerplate in una singola chiamata REST.
Cos'è un'API email per sviluppatori?
Prima di confrontare i fornitori e scrivere codice, ecco la definizione precisa di cui necessitano i motori di ricerca e i tuoi compagni di squadra.
Un API email per sviluppatori è un'interfaccia programmatica che consente alla tua applicazione di autenticarsi come utente, quindi leggere, inviare o gestire le email di quell'utente direttamente all'interno di Gmail, Outlook o qualsiasi casella di posta IMAP, senza mai gestire la loro password. L'API si autentica tramite OAuth 2.0 (o credenziali IMAP), restituisce risposte JSON strutturate e attiva webhook quando arrivano nuove email. È categoricamente diverso da un'API di email transazionali (SendGrid, Mailgun), che invia email di marketing o di notifica. per conto del tuo marchio - un API di posta elettronica per gli sviluppatori agisce a nome del tuo utente, all'interno della loro cassetta postale esistente.
In pratica: un helpdesk SaaS utilizza un'API email per estrarre i ticket di supporto direttamente dalla casella di posta Gmail di un cliente. Un CRM la utilizza per sincronizzare ogni thread di email scambiato da un addetto alle vendite con un potenziale cliente. Un agente AI la utilizza per leggere, classificare e redigere risposte all'interno dell'account Outlook di un utente. Si tratta di integrazioni lato sync, lato utente OAuth, non di pipeline di invio di massa.
Perché gli sviluppatori hanno bisogno di un'integrazione API via email
Queste sono le quattro categorie di prodotto in cui una API di posta elettronica per sviluppatori offre un valore commerciale diretto: leggere e agire su email di utenti reali, non inviare invii massivi.
I CRM, gli helpdesk e gli strumenti di gestione progetti hanno bisogno di accesso live alla casella di posta di un utente. La tua app si autentica una volta tramite OAuth, quindi legge, ordina e mostra le email direttamente nella tua interfaccia utente, senza copia-incolla o regole di inoltro. L'integrazione dell'API email viene eseguita in background, mantenendo i tuoi dati aggiornati.
gli agenti basati su LLM devono leggere e classificare e-mail reali per creare bozze di risposte, estrarre entità, attivare flussi di lavoro o instradare ticket. Un'API email per sviluppatori offre al tuo agente AI un accesso JSON strutturato alla casella di posta - oggetto, corpo, allegati, intestazioni - senza dover costruire un client di posta personalizzato.
Esegui il pull delle email di supporto direttamente da caselle di posta dei clienti o caselle di posta condivise, etichettale per argomento, assegna agenti e pubblica risposte, tutto programmaticamente. L'integrazione dell'API email sostituisce il vecchio polling SMTP con una vera interfaccia REST e webhook in tempo reale.
Registra ogni email inviata o ricevuta da un rappresentante di vendita associandola al contatto o all'accordo corretto. Tieni traccia dello stato di apertura/risposta a livello di thread. Mantieni il tuo CRM sincronizzato con cronologia conversazione reale senza chiedere ai rappresentanti di mettere in CCN un indirizzo magico. Integrazione API di posta elettronica pura - lato utente, basata su OAuth, per conto di ciascun rappresentante individuale.
Questa NON è un'email transazionale. Se il tuo caso d'uso prevede l'invio di reset password, conferme d'ordine o newsletter dal tuo dominio, questo è il mercato transazionale (SendGrid, Mailgun, Resend). L'API email di Unipile per sviluppatori si rivolge al mercato della sincronizzazione/lettura/scrittura per conto dell'utente: infrastrutture diverse, requisiti di conformità diversi, modello di prezzi diverso.
API Gmail, Microsoft Graph e IMAP a confronto
Ogni integrazione di API per email inizia con uno dei tre provider nativi. Ecco cosa offre ciascuno e dove crea attrito per gli sviluppatori.
| Caratteristica | API Gmail | Microsoft Graph | IMAP | Unipile (unificato) |
|---|---|---|---|---|
| Metodo di autenticazione | OAuth 2.0 | OAuth 2.0 | Password / XOAUTH2 | OAuth 2.0 (tutto) |
| Webhook in tempo reale | Pub/Sub (necessita di GCP) | Sottoscrizioni al grafico | No (polling IDLE) | Webhook unificata |
| Formato di risposta | Gmail JSON (non standard) | Grafico JSON (OData) | RFC 2822 grezzo MIME | Schema JSON unificato |
| Aggiornamento del gettone | Manuale (google-auth-library) | Manuale (MSAL) | N/D | Gestito da Unipile |
| Limiti tariffari | 250 QU/utente/s | 10.000 richieste ogni 10 minuti | Varia a seconda del server | Astratto + riprova |
| Invia email | Sì | Sì | Solo SMTP | Sì (tutti i fornitori) |
| Allegati | Richiede una chiamata aggiuntiva | Massimo 4MB in linea | Completo MIME | API unificata per allegati |
| Tempo di installazione (stima) | 1-2 settimane | 1-2 settimane | 3-5 giorni | Ore |
API email native vs API email unificata: confronto di codice reale
Vedere entrambi gli approcci fianco a fianco, nel codice effettivo, rende il compromesso concreto. Seleziona una lingua qui sotto per confrontare la lettura delle email in modo nativo o tramite l'API unificata per le email di Unipile.
// 1. Installa e configura il client OAuth
const {google} = require('googleapis');
const autenticazione = new google.auth.OAuth2(
ID_CLIENTE, SEGRETO_CLIENTE, URI_DI_REDIREZIONE
);
// 2. Scambia il codice di autorizzazione con i token
const {gettoni} = await auth.ottieniToken(codice);
auth.imposta credenziali(gettoni);
// 3. Archivia e aggiorna token manualmente
// 4. Chiama l'API di Gmail
const gmail = google.gmail({
versione: 'v1', autenticazione
});
const res = await
gmail.users.messages.list({
userId: 'me', maxResults: 10
});
// 5. Recupera il messaggio completo per ID
const messaggio = await
gmail.users.messages.ottenere({
userId: 'me',
id: res.data.messages[0].id,
formato: 'pieno'
});
// 6. Analizza il payload codificato in base64url da soloUn SDK, tutti i provider
const unipilo =
require('@unipile/node-sdk');
const client =
new unipilo.UnipileClient(
API_URL, TOKEN_DI_ACCESSO
);
// 2. Token gestiti da Unipile
// Non è necessario un flusso OAuth manuale
// 3. Elenca email
const e-mail = await
client.email.elencaTutto({
id_account: ID_ACCOUNT,
limite: 10
});
// 4. Corpo già decodificato
// JSON unificato - stesso schema
// per Gmail, Outlook, IMAP
console.log(elementi di email);import msal, richieste
# 1. Cliente riservato MSAL
app = msal.ApplicazioneClientaRiservata(
CLIENT_ID,
autorità=AUTORITÀ,
credenziali_del_client=SEGRETO_CLIENT
)
# 2. Ottenere il token per conto dell'utente
risultato = app.acquisire_token_con_flusso_codice_di_autorizzazione(
flusso, risposta_aut
)
gettone = risultato['access_token']
# 3. Gestire l'aggiornamento dei token e conservarli in modo sicuro
# 4. API del grafico delle chiamate
intestazioni = {'Authorization': f'Bearer {token}'}
r = richieste.ottenere(
'https://graph.microsoft.com/v1.0/me/messages',
intestazioni=intestazioni
)
# 5. Analisi della risposta dell'involucro ODataimport richieste
Token # gestito da Unipile
#: nessun MSAL, nessuna configurazione OAuth
intestazioni = {
'X-API-KEY': TOKEN_DI_ACCESSO,
'Accetta': 'application/json'
}
# funziona sia con Gmail che con Outlook
# Stesso endpoint, stesso schema
r = richieste.ottenere(
'https://api7.unipile.com:13091'
'/api/v1/email',
intestazioni=intestazioni,
parametri={
'ID account': ID_ACCOUNT,
'limite': 10
}
)
e-mail = r.json()
# Già analizzato, nessun OData# IMAP non dispone di un'API REST
# È necessario utilizzare imaplib o node-imap
# Nessun equivalente di cURL
Esempio #: openssl s_client
# (solo per il debug – non per la produzione)
openssl s_client \
-connetti imap.gmail.com:993 \
silenzioso
# Quindi inviare comandi IMAP grezzi:
# A001 LOGIN user@gmail.com password
# A002 SELEZIONA CASELLA DI POSTA IN ARRIVO
# A003 FETCH 1 RFC822
# A004 USCITA
# Si riceve un MIME RFC 2822 non formattato
# Deve analizzare le intestazioni, decodificare
Parti # in base64, gestione multipart
#: poniti dei limiti
# Inoltre: nessun webhook, è necessario eseguire il polling in modalità IDLEAPI REST # - compatibile con qualsiasi
Provider di posta elettronica # tramite cURL
ricciolo \
-X OTTIENI \
-H ""X-API-KEY: $TOKEN"" \
-H "Accetta: application/json" \
"https://api7.unipile.com:13091
/api/v1/email
?account_id=$ACCOUNT_ID
E&limit=10"
Risposta #: JSON pulito
# { "elementi": [ { "id": "...",
# "oggetto": "Ciao",
# "da": { "nome": "Alice",
# "indirizzo": "..." },
# "body_plain": "...",
# "date": "2026-05-12T..." } ] }
# Stesso endpoint per Gmail,
# Outlook e account IMAPPrincipi fondamentali di OAuth 2.0 per l'integrazione di API di posta elettronica
Ogni integrazione API di produzione email si basa su OAuth 2.0 per autenticarsi come utente senza memorizzare la sua password. Ecco cosa ti serve per configurare ogni provider e come Unipile se ne occupa per te.
gmail.solodlettura, gmail.invia. Gli ambiti sensibili richiedono la verifica di Google per la produzione.google-auth-library o un gestore personalizzato.Posta.Leggi, Mail.Send, Mail.ReadWrite.SDK e strumenti per l'integrazione di API di posta elettronica
Sia che si stia creando nativamente o utilizzando un livello unificato, l'SDK giusto riduce il codice ripetitivo. Ecco il panorama attuale per ciascun provider e per Unipile.
SDK ufficiale per l'API unificata di posta elettronica di Unipile. Copre lettura, invio, gestione account e webhook per Gmail, Outlook e IMAP in un unico pacchetto. Definizioni TypeScript incluse.
@azure/msal-node separato). Ben tenuto. Il formato di risposta OData richiede un'analisi aggiuntiva per casi d'uso semplici.Prezzi orientati agli sviluppatori: inizia gratis, scala in modo trasparente
"Le API email "gratuite" native non sono poi così gratuite. Le API di Gmail e Microsoft Graph non hanno costi per chiamata API, ma ciascuna richiede settimane di ingegneria: cicli di verifica OAuth, logica di aggiornamento dei token, infrastruttura webhook, gestori di tentativi, mappatura degli errori. Un team di medie dimensioni impiega tipicamente da 3 a 6 settimane prima di rilasciare una singola funzionalità. L'API email unificata di Unipile per sviluppatori sostituisce quel lavoro con una prova gratuita di 7 giorni, senza necessità di carta di credito.
In conclusione: le chiamate API sono gratuite, l'ingegneria no. La realizzazione di un'integrazione email di livello production sulle API native (flussi di autenticazione, refresh dei token, gestione degli errori, infrastruttura webhook, astrazione multi-provider) costa comunemente da 3 a 8 settimane di tempo di uno sviluppatore senior per provider, oltre alla manutenzione continua ogni volta che Google o Microsoft introducono una modifica che rompe la compatibilità. Unipile ha un prezzo per account collegato al mese con livelli trasparenti. Vedi Guida gratuita API Email per la ripartizione completa.
Sicurezza e conformità per integrazioni API di posta elettronica
Quando la tua applicazione gestisce email degli utenti, la conformità non è un optional. Unipile è costruito per i due framework che contano per i prodotti rivolti agli sviluppatori che gestiscono dati europei e aziendali.
Unipile è Certificazione SOC 2 Tipo II. L'audit copre i criteri di servizio fiduciario Sicurezza, Disponibilità e Riservatezza. Ciò significa che revisori indipendenti hanno verificato i controlli di Unipile per un periodo prolungato, non solo in un singolo momento. Richiesto dalla maggior parte degli acquirenti aziendali e dai questionari di sicurezza SaaS.
Unipile elabora i dati delle email come un elaboratore dati Ai sensi dell'articolo 28 del GDPR, gli accordi di elaborazione dei dati (DPA) sono disponibili per tutti i piani a pagamento. I dati email dell'utente vengono elaborati solo per la durata della sessione autenticata e nell'ambito concesso dal consenso OAuth dell'utente. Nessuna memorizzazione parallela, nessun dato venduto a terzi.
Errori comuni nell'integrazione delle API di posta elettronica (e come risolverli)
Ogni sviluppatore che realizza la sua prima integrazione con un'API di posta elettronica si scontra con gli stessi quattro muri. Eccoli e come affrontarli correttamente.
Le 250 unità di quota per utente al secondo di Gmail sembrano generose finché non ci si rende conto che elencare 10 messaggi costa 5-10 unità ciascuno e il recupero dei corpi completi aggiunge quote per byte. Microsoft Graph limita a 10.000 richieste ogni 10 minuti per app per tenant. Il raggiungimento del limite restituisce 429 - Too Many Requests. Senza una logica di ripetizione, il tuo ciclo di sincronizzazione si blocca silenziosamente.
I token di accesso di Google scadono dopo 3.600 secondi. I token di Microsoft dopo 60-90 minuti. Se il tuo token di aggiornamento viene revocato (l'utente cambia password, revoca l'accesso alle app o il token non viene utilizzato per 6 mesi con Google), la sincronizzazione completa si interrompe silenziosamente. Nessun errore viene visualizzato a meno che non venga monitorata la risposta della chiamata di aggiornamento.
Gli abbonamenti a Microsoft Graph scadono dopo un massimo di 4.230 minuti (~3 giorni per la posta). Dimenticarsi di rinnovarli significa niente più notifiche push - la tua app torna al polling o perde eventi del tutto. Le sottoscrizioni Pub/Sub di Gmail sono più persistenti ma richiedono una sottoscrizione GCP per rimanere valide e che l'argomento esista.
Le API di posta elettronica sono eventualmente consistenti. Se il processo di sincronizzazione si arresta in modo anomalo a metà esecuzione, potresti email duplicate, salta una pagina di risultati, o manca le eliminazioni. Gmail utilizza historyId per la sincronizzazione incrementale; Microsoft Graph utilizza deltaToken. Entrambi richiedono un'attenta gestione del cursore tra i riavvii. IMAP non ha uno stato di sincronizzazione nativo: devi mantenere il tuo tracciamento UID.
API Email per sviluppatori - domande frequenti
Risposte alle domande più frequenti degli sviluppatori che creano la loro prima integrazione API di posta elettronica su Gmail, Outlook e IMAP.
npm install @unipile/node-sdk. Quindi crea un client con il tuo URL API e il tuo token di accesso, e chiama client.email.elencaTutti() per leggere email o client.email.invia() per inviare - su Gmail, Outlook e IMAP con un unico percorso di codice. Per Gmail nativo, utilizzare il googleapis pacchetto npm. Per Microsoft Graph, usa @microsoft/microsoft-graph-client.