Gmail API Invia Email: Esempi di codice Python e Node.js (2026)

Avvio rapido

Inviare un'email con Gmail API in 5 righe: 1. `service.users().messages().send(userId='me', body=email_body).execute()` 2. Prepara il corpo dell'email con `MIMEText`. 3. Codifica il corpo dell'email in base64. 4. Crea un oggetto `Message` con il corpo codificato. 5. Invia il messaggio tramite l'API.

1
Installare l'SDK
npm installare unipile-node-sdk
2
Imposta le variabili d'ambiente
Aggiungi UNIPILE_DSN e UNIPILE_TOKEN al tuo .env file.
3
Collega un account Gmail
Flusso OAuth gestito da Unipile - il refresh del token è automatico, non è necessaria alcuna riautenticazione manuale.
4
Chiama client.email.invia()
Passare account_id, a, soggetto, e corpo. Fatto.
5
Controlla la risposta
L'API restituisce un tracking_id conferma di consegna tramite l'API di Gmail.
Stesso codice per Outlook e IMAP - un'API unificata, non è necessaria alcuna logica specifica del provider.
send-email.mjs
import {UnipileClient } from 'unipile-node-sdk';const client = nuovo UnipileClientprocess.env.UNIPILE_DSN, process.env.UNIPILE_TOKEN);const risultato = attendere client.email.inviare({ id_account: 'acc_xxxxxxxxxxxxxxxx', a: [{ nome_visualizzato: 'Alice Martin', identificatore: 'alice@acme.com'}], oggetto: 'Ciao dall'API di Gmail', corpo: '

Inviato tramite Unipile!

'
});console.log(risultato); // { tracking_id: 'msg_...' }
Email inviata - tracking_id restituito
Gmail API Invia email - Unipile
API e-mail

Gmail API Invia email,
Python e Node.js
Esempi di codice

Una guida completa per sviluppatori all'invio di e-mail programmatiche tramite l'API di Gmail: configurazione OAuth 2.0, esempi di codice, limiti di velocità e confronto con SMTP.

8 minuti di lettura
Aggiornato Giugno 2025
Python, Node.js
OAuth 2.0 SMTP Limiti tariffari Autenticazione API REST
gmail_invia.py
# Invia email con Gmail API
import base64
from email.mime.text import MIMEText
from googleapiclient.discovery import costruire

def invia_email(servizio, a, oggetto, corpo):
    msg = MIMEText(body)
    msg['a'] = a
    msg['soggetto'] = soggetto
    raw = base64.urlsafe_b64encode(
        msg.come_byte()
    ).decodifica()
    return servizio.utenti().messaggi().inviare(
        IDutente='me',
        corpo={'grezzo'greggio
    ).esegui()
✓ Messaggio inviato, ID: 18e3f2a9c4b...
Funziona anche con:
Prospettiva IMAP Calendario di Google
via API unificata Unipile
Stai creando un'integrazione email?

Leggete la nostra Guida completa all'API Email - Flussi OAuth, sincronizzazione, invio e confronto dei provider.

Cos'è Gmail API Send Email - Unipile
Gmail API Gmail

Cos'è l'API di Gmail per l'invio di e-mail?

L'invio di email tramite l'API di Gmail prevede l'utilizzo di richieste HTTP per interagire con i sistemi di backend di Gmail. Anziché comporre e inviare manualmente email tramite l'interfaccia di Gmail, gli sviluppatori possono automatizzare il processo all'interno delle loro applicazioni.

L'API fornisce endpoint che consentono agli sviluppatori di creare e inviare messaggi di posta elettronica in vari formati, tra cui testo semplice, HTML e email con allegati. Supporta inoltre funzionalità più avanzate come il threading e la gestione delle etichette email, rendendola una soluzione completa per la comunicazione via email programmatica. Per l'invio multi-provider (Gmail, Outlook, IMAP), vedi la guida API unificata per l'invio di email. Per un approccio multi-provider, esplora il API per inviare email.

Gmail michel@company.com
3 messaggi
Tutti
Inviato
Inbox
Sarah Lee
Sarah Lee
Ricevuto 09:41
Re: Contratto firmato allegato
Grazie Michel, ho rivisto tutto e sembra a posto...
Michel Opra
Michel OpraA Oscar B.
Inviato Ieri
Rapporto Q2, versione finale
Ciao Oscar, ti allego il report finale del secondo trimestre per la revisione...
Oscar Brown
Oscar Brown
Ricevuto Lun
Seguito alla nostra chiamata della settimana scorsa
Ciao, solo per verificare la tempistica dell'integrazione API...
Perché usare l'API di Gmail per inviare email - Unipile
Vantaggi principali

Perché utilizzare l'API di Gmail per l'invio di e-mail?

Utilizzare l'API di Gmail per l'invio di e-mail offre diversi vantaggi che la rendono una scelta potente per le applicazioni moderne.

Automazione

Automatizza le attività email di routine, risparmiando tempo e riducendo gli errori manuali in tutto il tuo flusso di lavoro.

Risparmia ore settimanali

Integrazione

Integra l'invio di email direttamente nel flusso di lavoro della tua app, migliorando l'esperienza utente con un processo fluido.

Esperienza utente nativa in-app

Personalizzazione

Personalizza dinamicamente il contenuto delle e-mail in base ai dati dell'utente o allo stato dell'applicazione per messaggi veramente personalizzati.

Modelli dinamici

Scalabilità

Gestisci in modo efficiente l'invio di grandi volumi di email, ideale per applicazioni che richiedono comunicazioni su larga scala.

Pronto per alti volumi
Impostazione dell'API Gmail, Guida passo passo - Unipile

Impostazione dell'API di Gmail per l'invio di e-mail

Documentazione OAuth di Google

Google impone alle applicazioni di terze parti di sottoporre la propria app per la verifica dell'utilizzo dei dati degli utenti Google. Segui le 10 passi sotto per configurare OAuth, abilitare l'API di Gmail e preparare le tue credenziali per la produzione. Vedi anche: proteggere la tua integrazione API di posta elettronica.

1
2
3
4
5
6
7
8
9
10
01

Accedi alla Google Developers Console

Accedi a Google Developers Console Per avviare la configurazione del tuo progetto, avrai bisogno di un account Google con privilegi di amministratore.

02

Crea un nuovo progetto Google

Iscriviti al sito Google Developers Console e crea un nuovo progetto o usa un progetto Google esistente. Clicca su NUOVO PROGETTO nel selettore del progetto per iniziare.

Crea nuovo progetto nella Google Cloud Console
03

Crea credenziali ID client OAuth

Naviga verso API e Servizi > Credenziali, quindi clicca CREA CREDENZIALI > ID client OAuth.

  • Tipo di applicazione: Applicazione web
  • Nome: Il vostro nome interno
  • Aggiungi 2 URI di reindirizzamento autorizzati utilizzando il tuo DSN Unipile (disponibile nel Cruscotto Unipile):
https://{{YOUR_DSN}}/api/v1/hosted/google_auth_request_callback
https://{{YOUR_DSN_less_port}}/api/v1/hosted/google_auth_request_callback/port{{YOUR_PORT}}

Una volta creato, aggiungi il ID client e Segreto client a Dashboard Unipile > Impostazioni > Google OAuth.

Crea credenziali ID client OAuth
04

Abilita la libreria API di Gmail

Vai a API e Servizi > Libreria, cerca API Gmail, e clicca ABILITA.

Abilita la libreria API di Gmail
05

Configura la schermata di consenso di OAuth, Tipo utente

Scegli il tuo tipo di utente in base alla tua fase di test:

  • Interno: Limitato agli utenti di Google Workspace all'interno della tua organizzazione.
  • Esterno e in fase di test: Richiede l'aggiunta di Utenti di Test. I token scadono in 7 giorni.

Per i dettagli sui tipi di utente, vedere la Documentazione Google.

Seleziona tipo utente OAuth
06

Compila le informazioni sull'app

Nella schermata di consenso OAuth, fornire quanto segue:

  • Nome applicazione: Nome visualizzato dell'app.
  • Email di supporto utente: Un indirizzo email di contatto o una lista di distribuzione per le domande degli utenti.
  • Logo dell'app: Carica il logo della tua applicazione per l'identificazione visiva.
Informazioni sull'app OAuth
07

Imposta le informazioni del dominio dell'app

  • URL della homepage dell'applicazione: Una vera homepage, non solo una pagina di accesso.
  • Link Informativa sulla Privacy: Assicurati che soddisfi Requisiti specifici di Google, in particolare la sezione Uso Limitato.
  • Link ai Termini di Servizio: URL dei termini di servizio pubblici.
Dominio dell'app OAuth
08

Aggiungi domini autorizzati

  • Aggiungi il dominio della tua app di produzione (non il dominio di sviluppo o staging).
  • Aggiungi unipile.com come dominio autorizzato secondario.
Domini autorizzati
09

Inserisci le informazioni di contatto dello sviluppatore

Fornire un indirizzo email che Google possa utilizzare per le notifiche di verifica. Utilizzare una lista di distribuzione in modo che tutti i membri del team pertinenti ricevano gli aggiornamenti. Monitorare regolarmente l'indirizzo, poiché le email di Google possono finire nelle cartelle spam.

Informazioni di contatto dello sviluppatore
10

Aggiungi ambiti richiesti

Fare clic AGGIUNGI O RIMUOVI SCOPI e aggiungi quanto segue (aggiorna la pagina se non appaiono):

./auth/gmail.send
./auth/gmail.labels
./auth/gmail.readonly
./auth/gmail.modifica

Nota: modifica gmail è necessario solo se devi spostare o eliminare email. Se non lo utilizzi, contatta il supporto Unipile per rimuoverlo dal tuo account manualmente.

Aggiungi gli ambiti dell'API Gmail
Opzionale, per app di produzione
11
Genera il tuo video dimostrativo
Richiesto solo una volta che la tua integrazione sarà completamente attiva in produzione

Produrre e ospitare un video dimostrativo che rispetti le indicazioni di Google. Caricarlo come un Video di YouTube non in elenco, È consentito un solo link video.

Prima di creare il video
  • La tua app e il flusso OAuth sono presentati in inglese, come indicato nella documentazione di Google.
  • La dimostrazione è condotta in un dominio di livello di produzione.
  • Nelle impostazioni del progetto Google, conferma Stato di pubblicazione In Produzione Tipo di utente è "Esterno".
Segmento di autenticazione
  • Visualizza la homepage della tua applicazione con l'URL completo.
  • Illustra come un cliente Google può connettere il proprio account tramite il pulsante di accesso ufficiale di Google.
  • Durante il flusso OAuth, evidenzia l'URL e rivela il ID CLIENTE.
Segmento di funzionalità
  • Mostra sequenzialmente ogni ambito richiesto, adattato al tuo specifico caso d'uso.
  • Dimostra la funzionalità bidirezionale mostrando la sincronizzazione tra la tua app e Gmail (invio, ricezione e aggiornamenti dell'elenco di posta inviata).
Passaggi per la presentazione
  • Aggiungi il video finale al tuo Google Project come link a un video YouTube non in elenco.
  • Invia l'URL di YouTube al tuo Customer Success Manager per la revisione.
  • Dopo la revisione, procedere con l'invio della verifica dell'app.

Cronologia: la verifica può richiedere da da 2 a 8 settimane a seconda della coda di Google e del numero di cicli di correzione.

12
Whitelist e revisione di sicurezza per ambiti ristretti
Si applica solo se la tua applicazione utilizza ambiti limitati

Se la tua applicazione utilizza ambiti ristretti, sono richiesti passaggi aggiuntivi.

Valutazione della sicurezza di Google

Le app che richiedono l'accesso a dati utente Google con ambito ristretto devono essere sottoposte a una valutazione di sicurezza tramite CASA (Cloud Application Security Assessment) programma. Google classifica la tua app come di Livello 2 o Livello 3.

Livello 2, Scansionato da sé
Verificato in laboratorio, il più comune. Opzione gratuita o a pagamento tramite un valutatore di terze parti.
Livello 3, Scansionato nel laboratorio
Verificato in laboratorio, pagato solo. Deve essere completato da un valutatore terzo.
Revisione annuale

Le app che accedono a ambiti ristretti devono completare una valutazione di sicurezza ogni 12 mesi per mantenere l'accesso. Se introduci un nuovo ambito limitato che non era stato precedentemente approvato, la tua app potrebbe richiedere una nuova valutazione.

Il team di revisione di Google ti contatterà via email. Tieni la tua Proprietario del progetto e Editor di progetto informazioni aggiornate nella Cloud Console in modo che i membri del team giusti ricevano queste notifiche.

Opzione Whitelisting

In alternativa alla revisione di sicurezza standard, la tua applicazione potrebbe essere inclusa in una whitelist. Questo bypassa le procedure usuali, ma si applica solo se la tua applicazione soddisfa criteri molto specifici:

  • La maggior parte dei clienti utilizza Google Workspace: la maggior parte dei clienti dovrebbe avere email nel formato @azienda.com.
  • Amministrazione iniziata da whitelist: i tuoi amministratori degli utenti finali consentono l'accesso tramite la loro Console di amministrazione utilizzando il tuo Client ID Google.
  • Uso Limitato di Gmail Personale: meno di 100 account Gmail personali (@gmail.com) dovrebbero autenticarsi.
  • I progetti non verificati hanno un limite di 100 utenti per tutta la durata. Gli account Workspace non contano ai fini di questo limite, ma gli account Gmail personali contano sempre.
  • Gli utenti della prova gratuita devono utilizzare il proprio indirizzo e-mail Workspace e inserire l'applicazione nella whitelist.

Il whitelisting è una soluzione temporanea e potrebbe non essere adatta a tutti gli scenari d'uso. Valuta attentamente i criteri prima di scegliere questa strada.

Casi d'uso dell'API Gmail, iPaaS di CRM ATS Outreach - Unipile
Casi d'uso

Gmail API per CRM, ATS, Outreach e iPaaS

Automatizza l'invio di email, sincronizza le conversazioni e centralizza la comunicazione con i clienti su ogni tipo di piattaforma SaaS B2B.

Sistemi CRM

Registra e invia email senza uscire dal tuo CRM

Automatizza la comunicazione via email, tieni traccia delle interazioni e migliora il coinvolgimento dei clienti. Registra le email dei clienti, invia messaggi personalizzati e centralizza tutte le conversazioni all'interno della tua pipeline.

Sincronizzazione bidirezionale tra Gmail e i record di contatti
Registrazione automatica delle email inviate e ricevute per accordo
Modelli e campi di unione per un outreach personalizzato
API e-mail per CRM
Condotta CRM
Gmail sincronizzato
Opportunità
NexaTech
$32.000
2
Orbix
$18.500
Sintetizzatore
$24.200
Quark
$9.800
Gmail Gmail
LinkedIn
Compiti
Io → Michel Opra
Ciao Michel, Ti allego il contratto. Cordiali saluti.
Michel Opra → Me
Ciao Sarah, Grazie. Trovi il contratto firmato. Buona giornata.
ATS e Recruiting

Invia email ai candidati da un'unica casella di posta unificata

Semplifica la comunicazione con i candidati, programma i colloqui e invia lettere di offerta direttamente dalla tua piattaforma di recruiting. Ogni risposta viene automaticamente allegata al profilo del candidato corretto.

Contatto di massa ai candidati provenienti da fonti con tracciamento
Programmazione dei colloqui email con integrazione calendario
Conversazioni in thread per candidato, per ruolo
API e-mail per ATS
Pipeline Candidati
3 inviate oggi
Provenienza
Alice K.
Ben M.
Contattato
Clara V.
Diego S.
Intervista
Emma R.
Assunto
Felix O.
Gmail Invito per colloquio, ruolo di Ingegnere Senior SPEDITO
Ciao {{candidate.firstName}}, ci piacerebbe invitarti per una chiamata di 45 minuti la prossima settimana...
Strumenti di outreach e vendita

Gestisci sequenze email multi-step su larga scala

Crea sequenze multicanale con Gmail come motore di posta elettronica principale. Invia messaggi personalizzati, traccia aperture e risposte e attiva follow-up in base al comportamento del potenziale cliente.

Cadenza a più riprese con Gmail, LinkedIn e WhatsApp
Tracciamento di apertura e risposta misurare ciò che funziona
Metti in pausa automaticamente alla risposta per mantenere le conversazioni umane
API e-mail per la sensibilizzazione
Sequence, Fondatori SaaS T2
Attivo
1
Giorno 1, Email introduttiva
Inviato a 124 potenziali clienti, 42 aperture
Gmail
2
Giorno 3, connessione LinkedIn
82 richieste inviate, 31 accettate
LinkedIn
3
Giorno 5, email di follow-up
Invio ora, 18 in coda
Gmail
124
Inviato
34%
Tasso di apertura
12
Risposte
iPaaS e Flusso di lavoro

Attiva azioni Gmail in qualsiasi workflow

Integrare le funzionalità di invio di Gmail nei builder di automazione. Consentire agli utenti finali di collegare il proprio account Gmail e inviare email come parte di flussi di lavoro multi-step, senza dover costruire il flusso OAuth da zero.

OAuth per utenti finali gestito da Unipile, nessun lavoro di sviluppo
Webhook trigger su nuovi eventi email
Scala a migliaia di account Gmail collegati
API e-mail per iPaaS
Costruttore di flussi di lavoro
In corsa
Gmail
Gmail
Unipile
LinkedIn
LinkedIn
WhatsApp
WhatsApp
Attivazione, nuova email ricevuta
Instradamento automatico all'azione di follow-up di LinkedIn
In diretta
Caratteristiche principali dell'API Gmail per l'invio di email - Unipile
Punti finali principali

Caratteristiche principali dell'invio di email tramite Gmail API

Recupera email, componi e invia nuovi messaggi, gestisci le etichette e ricevi notifiche webhook in tempo reale. Quattro funzionalità principali che coprono ogni flusso di lavoro email nella tua applicazione.

GET

Elenco di tutte le e-mail

unipile-api
ricciolo --richiesta OTTENERE --url https://api.unipile \ .com/api/v1/email \ --intestazione 'accetta: json'

Recupera e visualizza le email dall'account Gmail di un utente. Filtra per cartella, data, mittente o stato di lettura per una ricerca e una gestione potenti.

Elenca funzionalità email
POSTA

Invia nuova email

unipile-api
ricciolo --richiesta POSTA --url https://api.unipile \ .com/api/v1/email \ --intestazione 'content-type: form'

Componi e invia email programmaticamente direttamente dalla tua app. Supporta HTML, testo normale, allegati, CC, BCC e risposte in thread.

Funzione di invio e-mail
GET

Elenca ed ottieni etichette

unipile-api
ricciolo --richiesta OTTENERE --url https://api.unipile \ .com/api/v1/cartelle \ --intestazione 'accetta: json'

Gestisci etichette e cartelle di Gmail elencando o recuperando i dettagli di singole etichette. Organizza e categorizza le email per un routing del flusso di lavoro più intelligente.

Elencare e ottenere l'etichetta
POSTA

Tracciamento Webhook

unipile-api
ricciolo --richiesta POSTA --url https://api.unipile \ .com/api/v1/webhooks \ --intestazione 'accetta: json'

Imposta webhook per ricevere aggiornamenti in tempo reale sull'attività delle email. Attiva azioni istantanee su nuovi messaggi, aperture, risposte o rimbalzi.

Notifica Webhook
Panoramica degli endpoint dell'API di Gmail - Unipile
Gmail Endpoint API Gmail

Tutto ciò che puoi fare con l'API di Gmail

Una panoramica completa degli endpoint Gmail disponibili tramite Unipile, dalla connessione dell'account al tracciamento dei webhook.

Connessione del conto
2 punti di accesso
Autenticazione ospitata, autenticazione email white label
POSTA
Usa la tua schermata di consenso OAuth dell'app
POSTA
Invia e Ricevi
5 punti di accesso
Invia un'email, con allegati, CC, CCN
POSTA
Rispondi a un'email, mantenendo il contesto della conversazione
POSTA
Elenca tutte le email, con filtri e paginazione
GET
Ottieni un'e-mail specifica per ID
GET
Scarica gli allegati da un'email
GET
Organizza ed Etichette
5 punti di accesso
Elenca cartelle ed etichette
GET
Ottieni dettagli su cartella o etichetta
GET
Sposta un'email in un'altra cartella
PATCH
Aggiorna email, segna come letto, non letto, con stella
PATCH
Eliminare un'email definitivamente o cestinarla
CANCELLARE
Webhook e Tracciamento
3 eventi
Nuovo evento: email ricevuta
POSTA
Evento email inviata, tracciamento risposte
POSTA
Eventi di tracciamento di apertura e clic
POSTA

Come inviare un'email con l'API di Gmail

Esempi completi di Python e Node.js per inviare testo semplice, HTML e email con allegati tramite l'API di Gmail. Pronti per il copia-incolla con autenticazione OAuth 2.0 inclusa.

1 Invio di un'e-mail in testo semplice (Python)

Utilizza l'ufficiale google-api-python-client e autenticazione google librerie. La funzione costruisce un messaggio MIME, lo codifica in base64url e lo invia all'endpoint di invio dell'API di Gmail.

Pitone Copia
import base64
from email.mime.text import MIMEText
from google.oauth2.credenziali import Credenziali
from googleapiclient.discovery import costruire

def invia_email(a, oggetto, corpo, credenziali_dict):
    creds = Credenziali(**credentials_dict)
    servizio = costruire('gmail', 'v1', credenziali=creds)

    messaggio = MIMETextmessaggio['a'] = a
    messaggio['soggetto'] = soggetto

    grezzo = base64.urlsafe_b64encode(messaggio.come_byte()).decodifica()

    risultato = servizio.utenti().messages().inviare(
        idUtente='me',
        corpo={'grezzo': crudo}
    ).eseguire()

    print(f"Messaggio inviato. ID: {result['id']}")
    return risultato

# Utilizzo
invia_email(
    a='recipient@example.com',
    oggetto='Ciao dall'API di Gmail',
    corpo='Questa email è stata inviata tramite l'API Gmail per inviare email.',
    credentials_dict={
        'gettone': 'IL_TUO_TOKEN_DI_ACCESSO',
        'token_di_aggiornamento': 'IL_TUO_TOKEN_DI_REFRESH',
        'id_cliente': 'IL_TUO_ID_CLIENTE',
        'client_secret': 'IL_TUO_SEGRETO_CLIENT',
        'token_uri': 'https://oauth2.googleapis.com/token'
    }
)

2 Invia un'e-mail di testo normale (Node.js)

Utilizzare il googleapis pacchetto npm. Il messaggio è costruito come una stringa RFC 2822 grezza, codificato in base64url e inviato tramite l'API di Gmail.

Node.js Copia
const { google } = require('googleapis');

async function inviaEmail(auth, a, oggetto, corpo) {
  const gmail = google.gmail({ versione: 'v1', auth });

  const messaggio = [
    `A: ${to}`,
    `Oggetto: ${subject}`,
    '',
    corpo
  ].unire('\n');

  const messaggioCodificato = Buffer.from(messaggio) .toStringa('base64')
    .sostituire(/\+/g, '-')
    .sostituire(/\//g, '_')
    .sostituire(/=+$/, '');

  const risultato = await gmail.users.messages.inviare(
    userId: 'me',
    requestBody: { raw: encodedMessage }
  });

  console.log(Messaggio inviato. ID: ${result.data.id});
  return risultato.dati;
}

// Impostazioni OAuth2
const oauth2Client = new google.auth.OAuth2(
  'IL_TUO_ID_CLIENTE',
  'IL_TUO_SEGRETO_CLIENT',
  'IL_TUO_REDIRECT_URI'
);

oauth2Client.imposta credenziali{
  token_accesso: 'IL_TUO_TOKEN_DI_ACCESSO',
  refresh_token: 'IL_TUO_TOKEN_DI_REFRESH'
});

inviaEmail(oauth2Client, 'recipient@example.com', 'Ciao', 'Inviato tramite Gmail API invia email!');

3 Inviare un'e-mail HTML (Python)

Utilizzo MIMEMultipart('alternativa') con entrambi a testo/semplice riparo e un testo/html parte. I client Gmail renderizzeranno la versione HTML; altri client torneranno al testo in chiaro.

Pitone Copia
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import base64

def invia_email_html(servizio, a, soggetto, corpo_html):
    messaggio = MIMEMultipart('alternativa')
    messaggio['a'] = a
    messaggio['soggetto'] = soggetto

    # Testo semplice in chiaro
    Parte del testo = MIMEText('Si prega di visualizzare questa e-mail in un client compatibile con HTML.', 'piatto')
    # versione HTML
    html_parte = MIMEText(corpo_html, 'html')

    messaggio.allegare(text_part)
    messaggio.allegareraw = base64.urlsafe_b64encode(messaggio.come_byte()).decodifica()

    return servizio.utenti().messages().inviare(
        idUtente='me',
        corpo={'grezzo': crudo}
    ).eseguire()

# Utilizzo
html_content = """

  
    

Ciao!

Questa email è stata inviata con Gmail API invia email.

"""
invia_email_htmlservizio, 'to@example.com', 'HTML Email tramite Gmail API', html_content)

4 Invia un'e-mail con allegati (Python)

Allega qualsiasi tipo di file leggendo i byte del file, indovinando il tipo MIME e aggiungendolo a un MIMEMultipart Messaggio. La dimensione massima dell’allegato è 25 MB per messaggio.

Pitone Copia
import base64
import tipi MIME
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from e-mail import codificatori

def invia_email_con_allegato(servizio, a, oggetto, corpo, percorso_file):
    messaggio = MIMEMultipart()
    messaggio['a'] = a
    messaggio['soggetto'] = soggetto
    messaggio.allegare(MIMETextcorpo, 'piatto'))

    # Rileva tipo MIME e allega file
    tipo_contenuto, codifica = mimetypes.indovina_tipopercorso_file,
    tipo_principale, sottotipo = tipo_contenuto.spaccare('/', 1)

    con aperto(percorso_file, 'rb') come f:
        allegato = MIMEBase(tipo_principale, sottotipo)
        allegato.imposta_carico(f.leggere))
        codificatori.codifica_base64allegato.aggiungere_intestazione(
            'Content-Disposition',
            f'allegato; nome file="{file_path.split("/")[-1]}"
        )
        messaggio.allegare(allegato)

    raw = base64.urlsafe_b64encode(messaggio.come_byte()).decodifica()

    return servizio.utenti().messages().inviare(
        idUtente='me',
        corpo={'grezzo': crudo}
    ).eseguire()
Salta la complessità di OAuth
Una API per Gmail, Outlook e IMAP

L'API Email di Unipile ti consente di inviare email da account Gmail, Outlook e IMAP con un singolo endpoint unificato, senza la necessità di configurare l'OAuth specifico del provider. Collega gli account in pochi minuti, non in giorni.

Inizia a costruire gratuitamente
Gmail Prospettiva IMAP Gmail, Outlook, IMAP
Confronto tra Gmail API e SMTP - Unipile
Confronto

Gmail API vs SMTP, quale dovresti usare?

Sia l'API di Gmail che SMTP di Gmail ti permettono di inviare email a livello programmatico, ma servono a scopi molto diversi. Ecco un confronto diretto per aiutarti a scegliere.

Caratteristica API Gmail Gmail SMTP
Autenticazione OAuth 2.0 Password dell'app o OAuth
Limite di invio giornaliero 2,000 Spazio di lavoro, 500 libero 500/giorno Gmail gratuito
Allegati Fino a 25 MB Fino a 25 MB
Email HTML
Tracciamento dei thread Etichette e fili No
Leggi le ricevute No
Accesso programmatico Completo, ricerca, etichette, bozze, webhook Invia solo
Complessità di configurazione Alto OAuth + Cloud Console Basso Password per le app solo
Il migliore per App SaaS, CRM, integrazione ATS Script semplici, uso personale
Caratteristiche a confronto
Autenticazione
API Gmail OAuth 2.0
Gmail SMTP Password dell'app o OAuth
Limite di invio giornaliero
API Gmail 2.000 Spazi di lavoro, 500 gratuiti
Gmail SMTP 500/giorno Gmail gratuito
Allegati
API Gmail Fino a 25 MB
Gmail SMTP Fino a 25 MB
Email HTML
API Gmail
Gmail SMTP
Tracciamento dei thread
API Gmail Etichette e fili
Gmail SMTP No
Leggi le ricevute
API Gmail
Gmail SMTP No
Accesso programmatico
API Gmail Completo, ricerca, etichette, bozze, webhook
Gmail SMTP Invia solo
Complessità di configurazione
API Gmail Alto OAuth + Cloud Console
Gmail SMTP Basso Password per le app solo
Il migliore per
API Gmail App SaaS, CRM, integrazione ATS
Gmail SMTP Script semplici, uso personale
Per le applicazioni SaaS e gli strumenti per sviluppatori che necessitano di una piena integrazione della mailbox, non solo l'invio, L'API Gmail per inviare email è la scelta ovvia. Se devi supportare più provider di posta elettronica (Gmail, Outlook, IMAP) da un'unica codebase, considera API unificata di posta elettronica di Unipile, astragge la complessità di OAuth per tutti e tre i provider dietro un unico endpoint.
Quote

Limiti e quote dell'API di Gmail

Comprendere i limiti di frequenza dell'API di Gmail è essenziale prima di andare in produzione. Superare queste quote restituisce un 429 rateLimitExceeded errore - implementa sempre il backoff esponenziale.

2,000
Messaggi / giorno
Account Google Workspace
500
Messaggi / giorno
Account Gmail gratuiti (@gmail.com)
10,000
Destinatari / giorno
In tutti i messaggi inviati
25 MB
Dimensione massima del messaggio
Compresi tutti gli allegati
250
Unità di quota / secondo
Per progetto, per utente

Gestione degli errori di limitazione della frequenza con backoff esponenziale

Quando l'API di Gmail restituisce un oggetto 429 stato, attendere prima di riprovare. Usare un backoff esponenziale per evitare di sovraccaricare l'API e innescare blocchi più lunghi.

Pitone Copia
import tempo
from googleapiclient.errors import Errore HTTP

def inviare_con_ritentativo(servizio, user_id, messaggio, max_tentativi=3):
    per tentativo in gamma(max_tentativi):
        tentare:
            return servizio.utenti().messages().inviare(
                userId=user_id,
                body=messaggio
            ).eseguire()
        tranne Errore HTTP come errore:
            se error.resp.status == 429:  # Limite di frequenza
                wait_time = (2 ** tentativo) * 1  # Backoff esponenziale: 1s, 2s, 4s
                print(f"Velocità limitata. In attesa di {wait_time}s prima di riprovare {attempt + 1}/{max_retries}...")
                tempo.dormire(tempo_di_attesa)
            altro:
                salire  # Rilanciare immediatamente gli errori senza limiti di quota
    salire Eccezione(f"Invio email API Gmail fallito dopo {max_retries} tentativi")
Risoluzione dei problemi

Errori comuni dell'API di Gmail e come risolverli

La maggior parte degli errori di invio di e-mail tramite l'API di Gmail rientra in tre categorie: errori di autenticazione (401), problemi di autorizzazione (403) ed errori di richiesta non corretta (400). Ecco una tabella di riferimento con cause e soluzioni.

Codice HTTP Messaggio di errore Causa Soluzione
401 Non autorizzato Token di accesso scaduto
Usa il tuo token_di_aggiornamento per ottenere un nuovo token di accesso tramite oauth2.googleapis.com/token
403 Proibito Ambiti OAuth insufficienti
Aggiungi https://www.googleapis.com/auth/gmail.send ambito e riautorizzare l'utente
403 LimiteDiTassoSuperato Quota giornaliera superata
Implementa il backoff esponenziale: attendi 1s, 2s, 4s tra i tentativi. Vedi la sezione sui limiti di frequenza sopra.
400 concessione_non_valida Token di aggiornamento revocato o scaduto
L'utente deve autenticarsi e autorizzare nuovamente la tua app. Avvia un nuovo flusso di consenso OAuth.
400 Richiesta non valida Messaggio MIME non valido
Verifica che il messaggio sia codificato con base64.urlsafe_b64encode() - non base64 standard
403 permessi insufficienti Account di servizio senza delega
Abilita la delega a livello di dominio in Google Workspace Admin e concedi gli ambiti dell'API Gmail all'account di servizio

Alla ricerca di una soluzione unificata? La Guida API Email Unipile copre Gmail, Outlook, IMAP e altro da una singola integrazione - un endpoint, un flusso di autenticazione, tre provider.

Leggi la Guida API Email
Oltre Gmail, Microsoft e IMAP Email APIs - Unipile
Oltre Gmail

Collega Outlook e IMAP con la stessa API

Unipile va oltre Gmail. Collega Microsoft 365, Outlook.com e qualsiasi casella di posta IMAP tramite un'unica API unificata, con OAuth gestito per te su Microsoft e autenticazione flessibile basata su credenziali per IMAP.

Microsoft Outlook
OAuth 2.0

API Microsoft Graph

Verificato
Permessi API Concesso
Posta.Leggi
Mail.Send
accesso offline

Collega account Microsoft con Unipile tramite OAuth. Registra la tua applicazione in Azure Active Directory, configura Unipile con l'ID dell'applicazione AAD e inizia a inviare email tramite Outlook.com, Microsoft 365 e Exchange Online.

Outlook.com, Microsoft 365 e Exchange Online supportato
Autorizzazione in hosting così i tuoi utenti collegano account senza lasciare la tua app
Pieno supporto per la configurazione di AAD dal nostro team durante la registrazione
API Microsoft
IMAP
Credenziali di autenticazione

API IMAP

imap.example.com, 993
SSL
Configurazione connessione
ospite: imap.provider.com
porto 993
Scusi. michel@company.com
Account collegato, sincronizzazione attiva

Per qualsiasi casella di posta elettronica compatibile con IMAP, configura le impostazioni del server e scegli il metodo di autenticazione appropriato all'interno di Unipile. Inserisci host, porta e credenziali per stabilire una connessione sicura., nessun flusso OAuth richiesto.

Qualsiasi provider IMAP supportato, iCloud, Yahoo, Proton Bridge, server personalizzati
Password per app e bridge OAuth supportato dove disponibile
Archiviazione sicura delle credenziali con crittografia completa a riposo
API IMAP
Un'unica API, ogni provider di posta elettronica
Supporta Gmail, Outlook e IMAP contemporaneamente senza dover mantenere tre integrazioni separate.
Scopri l'API unificata per le email
Domande frequenti sull'invio di email tramite Gmail API - Unipile
FAQ

Gmail API Invia Email, Domande frequenti

Risposte alle domande più comuni sull'invio di email programmaticamente con l'API di Gmail.

01 Come invio un'email usando l'API di Gmail?
Attiva la Gmail API nella Google Cloud Console, crea credenziali OAuth 2.0 con gmail.invia ambito, creare un messaggio MIME, codificarlo in formato base64url, quindi inviarlo tramite POST a utenti.messaggi.invia endpoint. Vedi il Esempio Python e gli esempi di codice Node.js sopra per un'implementazione completa, pronta per essere copiata e incollata.
02 La Gmail API è gratuita da usare?
Sì, l'API Gmail non ha costi diretti. Gli account Gmail gratuiti possono inviare fino a 500 email al giorno; gli account Google Workspace ne ottengono 2.000 al giorno. Quote aggiuntive potrebbero applicarsi in base alla configurazione del tuo progetto Google Cloud e al numero di chiamate API al secondo.
03 Qual è la differenza tra Gmail API e SMTP?
L'API Gmail per l'invio di email offre accesso programmatico completo alla casella di posta (thread, etichette, bozze, webhook) con sicurezza OAuth 2.0 e limiti giornalieri più elevati. SMTP supporta solo l'invio. Per le applicazioni SaaS che richiedono l'integrazione completa della posta in arrivo, l'API Gmail è la scelta giusta; per semplici script personali, SMTP potrebbe essere sufficiente.
04 Posso inviare email con allegati tramite l'API di Gmail?
Sì. Crea un messaggio MIME multipart con MIMEMultipart, allegare file usando MIMEBase, codifica l'intero messaggio in base64url e invia tramite l'endpoint di invio e-mail dell'API Gmail. La dimensione massima degli allegati è di 25 MB per messaggio. Consulta l'esempio di codice per gli allegati nella sezione precedente.
05 Come inviare un'email per conto di un altro utente con Gmail API?
Per la delega a livello di dominio, configura un account di servizio nella Google Cloud Console con gli ambiti dell'API Gmail, quindi passa userId='target@domain.com' a invia un messaggio. Per la delega di singoli utenti, consulta la nostra completa guida per inviare e-mail per conto di altri.
06 Quali sono i limiti di frequenza dell'API di Gmail?
Gmail gratuito: 500 messaggi al giorno. Google Workspace: 2.000 messaggi al giorno. Entrambi i piani condividono un limite di 10.000 destinatari al giorno e un limite di dimensione di 25 MB per messaggio. Implementare il backoff esponenziale per gestire 429 rateLimitExceeded gestire gli errori in modo grazioso, consultare la sezione sui limiti di frequenza sopra per un esempio di codice completo.
07 L'API di Gmail supporta le email in formato HTML?
Sì. Utilizzare MIMEMultipart('alternativa') con entrambi a testo/semplice riparo e un testo/html parte. Codifica il messaggio MIME completo in formato base64url prima di inviarlo tramite il punto finale di invio email dell'API di Gmail. I client Gmail renderizzano la versione HTML; altri client ricorrono automaticamente al testo normale.
08 Come gestisco gli errori di autenticazione dell'API di Gmail?
401 Non autorizzato, il tuo token di accesso è scaduto: usa il token_di_aggiornamento per ottenerne uno nuovo tramite oauth2.googleapis.com/token. 403 Vietato, mancante gmail.invia ambito: riautorizzare con gli ambiti corretti. 400 concessione non valida, refresh token revocato: l'utente deve riautenticare la tua app da zero.
Serve un percorso più semplice per l'integrazione delle email?
Salva OAuth specifico del provider, collega Gmail, Outlook e IMAP con un'unica API.
Parlare con un esperto

Ti potrebbe interessare anche

API di sincronizzazione del calendario per SaaS: Integrazione in tempo reale con Google e Outlook

API di sincronizzazione del calendario per SaaS: Integrazione in tempo reale con Google e Outlook

Per i CRM, gli ATS, le piattaforme di outreach e i software basati sull'intelligenza artificiale, un'API affidabile per il calendario non è più una cosa semplice da fare. È ormai un elemento essenziale che guida la produttività, i flussi di lavoro di prenotazione, i follow-up, le sequenze automatizzate e il coordinamento dei team. Tuttavia, l'implementazione della sincronizzazione del calendario è...

leggi tutto
La guida completa per gli sviluppatori all'integrazione dell'API del calendario

La guida completa per gli sviluppatori all'integrazione dell'API del calendario

Il software moderno si basa sulle connessioni tra persone, sistemi e il tempo stesso. Al centro di questa connettività si trova l'API Calendar, un componente vitale che consente alle applicazioni di leggere, creare e sincronizzare gli eventi del calendario senza soluzione di continuità. Se state costruendo un CRM, una piattaforma di reclutamento o una piattaforma di produttività...

leggi tutto
Email API: Guida completa per sviluppatori (2026)

Email API: Guida completa per sviluppatori (2026)

Il panorama dei fornitori di API di posta elettronica Tre fornitori coprono circa il 95% dell'email professionale a livello mondiale: Gmail (e Google Workspace), Microsoft Outlook / Microsoft 365 e i protocolli universali IMAP / SMTP per tutto il resto. Comprendere cosa offre ciascuno e come differiscono, è il primo...

leggi tutto
it_ITIT