API Gmail Envoyer Email : Exemples de code Python & Node.js (2026)

Démarrage rapide

Envoyer un e-mail avec l'API Gmail en 5 lignes : 1. Importez les bibliothèques nécessaires (`google.auth`, `googleapiclient.discovery`). 2. Authentifiez-vous auprès de l'API Gmail. 3. Créez le message e-mail (TO, FROM, Subject, Body). 4. Encodez le message en base64. 5. Envoyez l'e-mail en utilisant `service.users().messages().send()`.

1
Installer le SDK
npm install unipile-node-sdk
2
Définir les variables d'environnement
Ajouter UNIPILE_DSN et UNIPILE_TOKEN à vous .env fichier.
3
Lier un compte Gmail
Flux OAuth géré par Unipile - le rafraîchissement du token est automatique, aucune ré-authentification manuelle n'est nécessaire.
4
Appel client.email.envoyer()
Passe account_id, à, sujet, ou encore corps. Fait.
5
Vérifiez la réponse
L'API retourne un identifiant de suivi confirmation de livraison via l'API Gmail.
Le même code pour Outlook et IMAP - une API unifiée, aucune logique spécifique au fournisseur n'est nécessaire.
send-email.mjs
import { UnipileClient } from 'unipile-node-sdk';const client = nouveau UnipileClient( process.env.UNIPILE_DSN, process.env.UNIPILE_TOKEN);const résultat = attente client.email.envoyeridentifiant_du_compte: 'acc_xxxxxxxxxxxxxxxx', à : [{ nom_à_afficher : 'Alice Martin', identifier : 'alice@acme.com'}], sujet : 'Bonjour de l'API Gmail', corps: '

Envoyé via Unipile !

'
});console.log(résultat); // { identifiant_suivi: 'msg_...' }
E-mail envoyé - tracking_id retourné
Gmail API Envoyer un e-mail - Unipile
API Email

Envoi d'e-mail avec l'API Gmail,
Python et Node.js
Exemples de code

Un guide complet du développeur pour l'envoi d'e-mails par programme avec l'API Gmail : configuration OAuth 2.0, exemples de code, limites de débit et comparaison SMTP.

8 min de lecture
Mis à jour en juin 2025
Python, Node.js
OAuth 2.0 SMTP Limites de taux Authentification API REST
gmail_envoyer.py
# Envoyer un courriel avec l'API Gmail
import base64
from email.mime.text import MIMEText
from googleapiclient.discovery import construire

déf envoyer_email(service, à, sujet, corps)
    msg = MIMEText(corps)
    msg['à'] égal à
    msg['sujet'] = sujet
    brut = base64.urlsafe_b64encode(
        msg.en_octets()
    ).décoder()
    return service.users().messages().envoyer(
        userId=moi,
        corps={'brut': brut}
    ).exécuter()
✓ Message envoyé, ID : 18e3f2a9c4b...
Fonctionne également avec :
Outlook IMAP Google Agenda
via l'API unifiée Unipile
Construction d'une intégration d'e-mails ?

Lisez le nôtre Guide complet de l'API d'e-mail - Flux OAuth, synchronisation, envoi et comparaison des fournisseurs.

API Gmail Envoyer un e-mail - Unipile
Gmail API Gmail

Qu'est-ce que l'API Gmail pour l'envoi d'e-mails ?

L'envoi d'e-mails via l'API Gmail implique l'utilisation de requêtes HTTP pour interagir avec les systèmes backend de Gmail. Au lieu de composer et d'envoyer manuellement des e-mails via l'interface Gmail, les développeurs peuvent automatiser le processus au sein de leurs applications.

L'API fournit des points d'accès qui permettent aux développeurs de créer et d'envoyer des messages électroniques dans divers formats, y compris du texte brut, du HTML et des courriels avec pièces jointes. Elle prend également en charge des fonctionnalités plus avancées comme le fil de discussion et la gestion des étiquettes d'e-mails, ce qui en fait une solution complète pour la communication par e-mail programmatique. Pour l'envoi multi-fournisseurs (Gmail, Outlook, IMAP), consultez le guide de l'API unifiée pour l'envoi d'e-mails. Pour une approche multisourcée, explorez API d'envoi d'e-mails.

Gmail michel@company.com
3 messages
Tous
Envoyés
Inbox
Sarah Lee
Sarah Lee
Reçu 9:41 AM
Re: Contrat signé ci-joint
Merci Michel, j'ai tout revu et cela semble bon...
Michel Opra
Michel Opraà Oscar B.
Envoyés Hier
Rapport T2, version finale
Bonjour Oscar, veuillez trouver ci-joint le rapport final du deuxième trimestre pour examen...
Oscar Brown
Oscar Brown
Reçu Mon
Suite à notre appel de la semaine dernière
Salut, je prends des nouvelles concernant le calendrier d'intégration de l'API...
Pourquoi utiliser l'API Gmail pour envoyer des e-mails - Unipile
Avantages clés

Pourquoi utiliser l'API Gmail pour l'envoi d'e-mails ?

L'utilisation de l'API Gmail pour l'envoi d'e-mails offre plusieurs avantages qui en font un choix puissant pour les applications modernes.

Automatisation

Automatisez les tâches d'e-mails répétitives, économisez du temps et réduisez les erreurs manuelles dans l'ensemble de votre flux de travail.

Économisez des heures chaque semaine

d'Intégration

Intégrez l'envoi d'e-mails directement dans le flux de travail de votre application, améliorant l'expérience utilisateur avec un déroulement fluide.

Expérience utilisateur native dans l'application

Personnalisation

Personnalisez le contenu des e-mails dynamiquement en fonction des données de l'utilisateur ou de l'état de l'application pour des messages véritablement personnalisés.

Modèles dynamiques

Évolutivité

Gérez efficacement l'envoi de gros volumes d'e-mails, idéal pour les applications nécessitant une communication à grande échelle.

Grand volume prêt
Configuration de l'API Gmail, Guide étape par étape - Unipile

Configuration de l'API Gmail pour l'envoi d'e-mails

Documentation OAuth de Google

Google oblige les applications tierces à soumettre leur application pour vérification de l'utilisation des données utilisateur de Google. Suivez le 10 étapes ci-dessous pour configurer OAuth, activer l'API Gmail et préparer vos identifiants pour la production. Voir aussi : sécuriser votre intégration d'API d'e-mail.

1
2
3
4
5
6
7
8
9
10
01

Accéder à la Google Developers Console

Se connecter à Google Developers Console Pour commencer la configuration de votre projet, vous aurez besoin d'un compte Google disposant des privilèges d'administrateur.

02

Créer un nouveau projet Google

S'inscrire sur le site Google Developers Console et soit de créer un nouveau projet, soit d'utiliser un projet Google existant. Cliquez sur NOUVEAU PROJET dans le sélecteur de projet pour commencer.

Créer un nouveau projet dans la console Google Cloud
03

Créer des identifiants client OAuth

Naviguer vers API et services > Identifiants, puis cliquez CRÉER DES IDENTIFIANTS > Identifiant client OAuth.

  • Type d'application : Application web
  • Nom : Votre nom interne
  • Ajouter 2 URI de redirection autorisés en utilisant votre Unipile DSN (disponible dans la tableau de bord 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}}

Une fois créé, ajoutez le Identifiant client et Clé secrète client à Tableau de bord Unipile > Paramètres > Google OAuth.

Créer des identifiants client OAuth
04

Activer la bibliothèque de l'API Gmail

Aller à APIs et services > Bibliothèque, rechercher API Gmail, et cliquez ACTIVER.

Activer la bibliothèque de l'API Gmail
05

Configurer l'écran de consentement, Type d'utilisateur

Choisissez votre type d'utilisateur en fonction de votre phase de test :

  • Interne : Limité aux utilisateurs de Google Workspace de votre organisation.
  • Externe & En test : Nécessite l'ajout d'utilisateurs de test. Les jetons expirent dans 7 jours.

Pour plus de détails sur les types d'utilisateurs, voir la Documentation Google.

Sélectionnez le type d'utilisateur OAuth
06

Remplir les informations de l'application

Sur l'écran de consentement OAuth, fournissez ce qui suit :

  • Nom de l'application : Le nom d'affichage de votre application.
  • Courriel de support utilisateur : Un courriel de contact ou une liste de distribution pour les questions des utilisateurs.
  • Logo de l'application Téléchargez le logo de votre application pour l'identification visuelle.
Informations sur l'application OAuth
07

Définir les informations du domaine de l'application

  • URL de la page d'accueil de l'application : Une véritable page d'accueil, pas juste une page de connexion.
  • Lien vers la politique de confidentialité : Assurez-vous qu'il répond Les exigences spécifiques de Google, en particulier la section d'Utilisation Limitée.
  • Lien vers les Conditions d'Utilisation : URL des conditions d'utilisation publiques.
Domaine d'application OAuth
08

Ajouter des domaines autorisés

  • Ajoutez le domaine de votre application de production (pas le domaine de développement ou de staging).
  • Ajouter unipile.com comme domaine autorisé secondaire.
Domaines autorisés
09

Entrer les informations de contact du développeur

Voici une adresse e-mail que Google peut utiliser pour les notifications de vérification. Utilisez une liste de distribution afin que tous les membres pertinents de l'équipe reçoivent les mises à jour. Surveillez-la régulièrement, car les e-mails de Google peuvent se retrouver dans les dossiers de spam.

Informations de contact du développeur
10

Ajouter les étendues requises

Cliquer AJOUTER OU SUPPRIMER DES PORTÉES et ajoutez les éléments suivants (actualisez la page s'ils n'apparaissent pas) :

./auth/gmail.send
./auth/gmail.labels
./auth/gmail.readonly
./auth/gmail.modify

Remarque : gmail.modifier n'est requis que si vous devez déplacer ou supprimer des e-mails. Si vous ne l'utilisez pas, contactez le support Unipile pour le supprimer manuellement de votre compte.

Ajouter des étendues Gmail API
Optionnel, pour les applications de production
11
Générer votre vidéo de démonstration
Requis une seule fois une fois votre intégration entièrement en direct en production

Produire et héberger une vidéo de démonstration conforme aux directives de Google. Téléchargez-la en tant que pièce jointe. Vidéo YouTube non répertoriée, un seul lien vidéo est autorisé.

Avant de créer la vidéo
  • Votre application et votre flux OAuth sont présentés en anglais, comme indiqué dans la documentation de Google.
  • La démonstration est effectuée dans un domaine de production.
  • Dans les paramètres du projet Google, confirmez Statut de publication En production Type d'utilisateur est "Externe".
Segment d'authentification
  • Afficher la page d'accueil de votre application avec l'URL complète.
  • Illustrez comment un client Google peut connecter son compte via le bouton de connexion officiel de Google.
  • Pendant le flux OAuth, mettez en surbrillance l'URL et révélez le ID CLIENT.
Segment fonctionnel
  • Présenter séquentiellement chaque portée demandée, adaptée à votre cas d'utilisation spécifique.
  • Démontrez la fonctionnalité bidirectionnelle en montrant la synchronisation entre votre application et Gmail (envoi, réception et mises à jour de la liste des e-mails envoyés).
Étapes de soumission
  • Ajoutez la vidéo finale à votre projet Google sous forme de lien vidéo YouTube non répertorié.
  • Soumettez l'URL YouTube à votre responsable du succès client pour examen.
  • Après examen, procédez à la soumission de vérification de l'application.

Calendrier : la vérification peut prendre de 2 à 8 semaines en fonction de la file d'attente de Google et du nombre de cycles de remédiation.

12
Liste blanche et examen de sécurité pour les portées restreintes
S'applique uniquement si votre application utilise des champs d'application restreints

Si votre application utilise des scopes restreints, des étapes supplémentaires sont nécessaires.

Évaluation de la sécurité de Google

Les applications demandant l'accès à des données utilisateur Google soumises à des restrictions doivent faire l'objet d'une évaluation de sécurité via le CASA (Cloud Application Security Assessment) programme. Google classe votre application dans la catégorie Niveau 2 ou Niveau 3.

Niveau 2, Auto numérisé
Vérifié en laboratoire, le plus courant. Option gratuite ou payante via un évaluateur tiers.
Niveau 3, Scanné en laboratoire
Vérifié en laboratoire, payé uniquement. Doit être effectué par un évaluateur tiers.
Réévaluation annuelle

Les applications accédant à des champs d'application restreints doivent effectuer une évaluation de sécurité tous les 12 mois pour maintenir l'accès. Si vous introduisez un nouveau champ d'application restreint qui n'a pas été approuvé auparavant, votre application pourrait nécessiter une réévaluation.

L'équipe d'examen de Google vous contactera par e-mail. Gardez votre Chef de projet et Éditeur de projet informations à jour dans la Cloud Console afin que les membres d'équipe appropriés reçoivent ces notifications.

Option de liste blanche

En guise d'alternative à l'examen de sécurité standard, vous pouvez faire figurer votre application sur une liste blanche. Cela contourne les procédures habituelles mais ne s'applique que si votre application répond à des critères très spécifiques :

  • La majorité des clients utilisent Google Workspace : la plupart des clients devraient avoir des e-mails au format @entreprise.com.
  • Liste blanche initiée par l'administrateur : vos administrateurs d'utilisateurs finaux autorisent l'accès via leur console d'administration en utilisant votre ID client Google.
  • Utilisation limitée de Gmail personnel : Moins de 100 comptes Gmail personnels (@gmail.com) devraient s'authentifier.
  • Les projets non vérifiés ont une limite de 100 utilisateurs à vie. Les comptes Workspace ne comptent pas dans cette limite, mais les comptes Gmail personnels comptent toujours.
  • Les utilisateurs de la version d'essai gratuite doivent utiliser leur adresse électronique Workspace et mettre l'application sur liste blanche.

La liste blanche est une solution de contournement et peut ne pas convenir à tous les cas d'utilisation. Évaluez soigneusement les critères avant de choisir cette voie.

Cas d'utilisation de l'API Gmail, CRM ATS Outreach iPaaS - Unipile
Cas d'usage

API Gmail pour CRM, ATS, Outreach et iPaaS

Automatisez l'envoi d'e-mails, synchronisez les conversations et centralisez la communication client sur tous les types de plateformes SaaS B2B.

Systèmes de gestion de la relation client (CRM)

Connectez et envoyez des e-mails sans quitter votre CRM

Automatisez la communication par e-mail, suivez les interactions et améliorez l'engagement client. Enregistrez les e-mails clients, envoyez des messages personnalisés et centralisez toutes les conversations au sein de votre pipeline.

Synchronisation bidirectionnelle entre Gmail et les fiches de contact
Journalisation automatique e-mails envoyés et reçus par transaction
Modèles et champs de fusion pour une approche personnalisée
Email API pour CRM
Pipeline CRM
Gmail synchronisé
Opportunités
NexaTech
$32 000
2
Orbix
$18 500
Synthex
$24 200
Quark
$9 800
Gmail Gmail
LinkedIn
Tâches
Moi → Michel Opra
Bonjour Michel, Veuillez trouver le contrat ci-joint. Cordialement.
Michel Opra → Moi
Bonjour Sarah, merci. Veuillez trouver le contrat signé ci-joint. Passez une excellente journée.
ATS et Recrutement

Envoyer les e-mails candidats à partir d'une boîte de réception unifiée

Simplifiez la communication avec les candidats, planifiez les entretiens et envoyez les lettres d'offre directement depuis votre plateforme de recrutement. Chaque réponse est automatiquement rattachée au profil du bon candidat.

Prospection de masse aux candidats sourcés avec suivi
Programmation des entretiens e-mails avec intégration de calendrier
Conversations filées par candidat, par poste
API e-mail pour ATS
Pipeline de candidats
3 envoyés aujourd'hui
Sourcé
Alice K.
Ben M.
Contacté
Clara V.
Diego S.
Interview
Emma R.
Embauché
Félix O.
Gmail Invitation à un entretien, poste d'Ingénieur senior VOYAGE
Bonjour {{candidate.firstName}}, nous aimerions vous inviter à un appel de 45 minutes la semaine prochaine...
Outils de Prospection et de Vente

Expédiez des séquences d'e-mails multi-étapes à grande échelle

Créez des séquences multi-canaux avec Gmail comme moteur d'e-mail principal. Envoyez des messages personnalisés, suivez les ouvertures et les réponses, et déclenchez des suivis en fonction du comportement du prospect.

Cadences à plusieurs temps avec Gmail, LinkedIn et WhatsApp
Suivi d'ouverture et de réponse pour mesurer ce qui fonctionne
Pause automatique à la réponse pour garder les conversations humaines
Email API pour la sensibilisation
Séquence, Fondateurs de SaaS T2
Actif
1
Jour 1, E-mail d'introduction
Envoyé à 124 prospects, 42 ouvertures
Gmail
2
Jour 3, Connexion LinkedIn
82 requêtes envoyées, 31 acceptées
LinkedIn
3
Jour 5, Suivi email
Envoi maintenant, 18 en attente
Gmail
124
Envoyés
34%
Taux d'ouverture
12
Réponses
iPaaS & Flux de travail

Déclencher des actions Gmail dans n'importe quel flux de travail

Intégrez les capacités d'envoi de Gmail dans les constructeurs d'automatisation. Permettez aux utilisateurs finaux de connecter leur compte Gmail et de déclencher des e-mails dans le cadre de workflows en plusieurs étapes, sans avoir à créer le flux OAuth à partir de zéro.

OAuth utilisateur final géré par Unipile, aucun travail de développement
Déclencheurs de webhook sur les événements de nouveaux e-mails
Devenir une entreprise de plusieurs milliers d'employés de comptes Gmail liés
API de messagerie pour iPaaS
Workflow Builder
Active
Gmail
Gmail
Unipile
LinkedIn
LinkedIn
WhatsApp
WhatsApp
Déclencheur, Nouveau courriel reçu
Suivi automatique vers l'action LinkedIn
En direct
Fonctionnalités clés de l'API Gmail pour l'envoi d'e-mails - Unipile
Points de terminaison principaux

Principales caractéristiques de l'API Gmail Envoyer un email

Récupérer des e-mails, composer et envoyer de nouveaux messages, gérer les libellés et recevoir des notifications webhook en temps réel. Quatre capacités principales qui couvrent tous les flux de travail d'e-mails dans votre application.

GET

Lister les emails

unipile-api
curl --demande GET \N- GET \N- GET \N- GET \N --url https://api.unipile \ .com/api/v1/courriels \ --en-tête 'accepter : json'

Récupérer et afficher les e-mails d'un compte Gmail d'un utilisateur. Filtrer par dossier, date, expéditeur ou état de lecture pour une recherche et une gestion puissantes.

Fonctionnalité d'e-mail de liste
POST

Envoyer un nouveau courriel

unipile-api
curl --demande POST \N- POST --url https://api.unipile \ .com/api/v1/courriels \ --en-tête 'content-type: formulaire'

Composez et envoyez des courriels directement depuis votre application par programmation. Prend en charge le HTML, le texte brut, les pièces jointes, les CC, les CVM et les réponses aux fils de discussion.

Fonctionnalité d'envoi de courrier électronique
GET

Lister et obtenir les étiquettes

unipile-api
curl --demande GET \N- GET \N- GET \N- GET \N --url https://api.unipile \ .com/api/v1/dossiers \ --en-tête 'accepter : json'

Gérez les libellés et dossiers Gmail en listant ou en récupérant les détails d'un libellé individuel. Organisez et catégorisez les e-mails pour un routage de flux de travail plus intelligent.

Lister et récupérer les étiquettes
POST

Suivi des Webhooks

unipile-api
curl --demande POST \N- POST --url https://api.unipile \ .com/api/v1/webhooks \ --en-tête 'accepter : json'

Configurez des webhooks pour recevoir des mises à jour en temps réel sur l'activité des e-mails. Déclenchez des actions instantanées sur les nouveaux messages, les ouvertures, les réponses ou les rebonds.

Notification de webhook
Aperçu des points de terminaison de l'API Gmail - Unipile
Gmail Points de terminaison de l'API Gmail

Tout ce que vous pouvez faire avec l'API Gmail

Un aperçu complet des points d'accès Gmail disponibles via Unipile, de la connexion du compte au suivi des webhooks.

Connexion au compte
2 points de terminaison
Authentification hébergée, authentification par e-mail en marque blanche
POST
Utiliser votre propre écran de consentement OAuth de l'application
POST
Envoyer et recevoir
5 points de terminaison
Envoyer un courriel, avec pièces jointes, CC, Cci
POST
Répondre à un e-mail, en conservant le contexte
POST
Lister tous les e-mails, avec filtres et pagination
GET
Obtenir un e-mail spécifique par identifiant
GET
Télécharger les pièces jointes d'un e-mail
GET
Organiser et étiqueter
5 points de terminaison
Lister les dossiers et les étiquettes
GET
Obtenir les détails d'un dossier ou d'une étiquette
GET
Déplacer un e-mail vers un autre dossier
PATCH
Mettre à jour l'e-mail, marquer lu, non lu, étoile
PATCH
Supprimer un e-mail de façon permanente ou dans la corbeille
DELETE
Webhooks et suivi
3 événements
Nouvel événement : e-mail reçu
POST
Événement d'e-mail envoyé, suivi des réponses
POST
Événements de suivi d'ouverture et de clic
POST

Comment envoyer un e-mail avec l'API Gmail

Exemples Python et Node.js complets pour l'envoi d'e-mails en texte brut, HTML et avec pièces jointes via l'API Gmail. Prêts à copier-coller avec authentification OAuth 2.0 incluse.

1 Envoyer un email en texte brut (Python)

Utilisez le

Official

google-api-python-client et authentification Google bibliothèques. La fonction construit un message MIME, le code en base64url, et le publie sur le point d'accès d'envoi de l'API Gmail.

Python Copie
import base64
from email.mime.text import MIMEText
from google.oauth2.credentials import Indentifications
from googleapiclient.discovery import construire

déf envoyer_email(vers, sujet, corps, credentials_dict):
    cros = Indentifications(**credentials_dict)
    service = construire('Gmail', 'v1', identifiants=creds)

    message = MIMEText(corps)
    message['à'] = à
    message['sujet'] = sujet

    brut = base64.urlsafe_b64encode(message.en_octets()).décoder()

    résultat = service.utilisateurs().messages().envoyer(
        userId=moi,
        corps={'brut': brut}
    ).exécutez()

    print(f"Message envoyé. ID : {result['id']}")
    return résultat

# Utilisation
envoyer_email(
    à='recipient@example.com',
    objet='Bonjour de l'API Gmail',
    corps='Cet e-mail a été envoyé via l'API Gmail pour l'envoi d'e-mails.',
    credentials_dict={
        'Jeton': 'JETON_ACCÈS_VOTRE',
        'jeton_rafraîchir': 'VOTRE_JETON_DE_REFRESH',
        'client_id': 'VOTRE_CLIENT_ID',
        'client_secret': 'VOTRE_CLIENT_SECRET',
        'uri_jeton': 'https://oauth2.googleapis.com/token'
    }
)

2 Envoyer un e-mail en texte brut (Node.js)

Utiliser le googleapis package npm. Le message est construit sous forme de chaîne RFC 2822 brute, encodé en base64url, et envoyé via l'API Gmail.

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

async function envoyerEmail(authentification, à, sujet, corps) {
  const gmail = google.gmail({ version : 'v1', auth }) ;

  const message = [
    `À : ${to}`,
    `Objet : ${subject}`,
    '',
    corps
  ].rejoindre('\n');

  const messageCoded = Tampon.from(message) .toString(base64)
    .remplacer(/\+/g, '-')
    .remplacer(/\//g, '_')
    .remplacer(/=+$/, '');

  const résultat = await gmail.users.messages.envoyer({
    userId: moi,
    requestBody: { raw: messageCodé }
  });

  console.log(Message envoyé. ID : ${result.data.id});
  return résultat.données ;
}

// Configuration OAuth2
const oauth2Client = new google.auth.OAuth2(
  'VOTRE_CLIENT_ID',
  'VOTRE_CLIENT_SECRET',
  'VOTRE_URI_DE_REDIRECTION'
);

oauth2Client.définirLesIdentifiantsjeton_d'accès : 'JETON_ACCÈS_VOTRE',
  jeton_rafraichissement: 'VOTRE_JETON_DE_REFRESH'
});

envoyerEmail(oauth2Client, 'recipient@example.com', 'Bonjour', 'Envoyé via l'API Gmail pour envoyer un e-mail !');

3 Envoyer un e-mail HTML (Python)

Utilisez MIMEMultipart('alternative') avec les deux un texte/plain solution de secours et un texte/html partie. Les clients Gmail afficheront la version HTML ; les autres clients utiliseront un texte brut.

Python Copie
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import base64

déf envoyer_email_html(service, à, sujet, html_body):
    message = MIMEMultipart('alternative')
    message['à'] = à
    message['sujet'] = sujet

    # Solution de repli en texte brut
    partie_texte = MIMEText('Veuillez visualiser cet e-mail dans un client compatible HTML.', 'plat')
    # Version HTML
    partie_html MIMEText(corps_html, 'html')

    message.joindremessage.joindreraw = base64.urlsafe_b64encode(message.en_octets()).décoder()

    return service.utilisateurs().messages().envoyer(
        userId=moi,
        corps={'brut': brut}
    ).exécutez()

# Utilisation
html_content = """

  
    

Bonjour !

Cet e-mail a été envoyé avec API Gmail envoyer un e-mail.

"""
envoyer_email_htmlservice, 'to@example.com', 'Email HTML via l'API Gmail', traduction, contenu_html)

4 Envoyer un e-mail avec des pièces jointes (Python)

Joindre tout type de fichier en lisant ses octets, en devinant son type MIME et en l'ajoutant à une MIMEMultipart message. La taille maximale des pièces jointes est de 25 Mo par message.

Python Copie
import base64
import mimetypes
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from l'email import encodeurs

déf envoyer_email_avec_piece_jointe(service, à, sujet, corps, chemin_fichier):
    message = MIMEMultipart()
    message['à'] = à
    message['sujet'Objet :
Message.joindre(MIMETextcorps, 'plat'))

    # Détecter le type MIME et joindre le fichier
    type_contenu, encodage = mimetypes.deviner_le_type(file_path)
    type_principal, type_secondaire = type_contenu.divisé('/', 1)

    avec ouvrir(chemin_fichier, 'rb') En tant que f :
        attachement = MIMEBase(type_principal, type_secondaire)
        pièce jointe.définir_charge utile(f.lire))
        encodeurs.encodage_base64pièce jointe.ajouter_en_tête(
            'Objet',
            f'attachment; filename="{file_path.split("/")[-1]}"
        )
        message.joindre(pièce jointe)

    brut = base64.urlsafe_b64encode(message.en_octets()).décoder()

    return service.utilisateurs().messages().envoyer(
        userId=moi,
        corps={'brut': brut}
    ).exécutez()
Éviter la complexité de l'OAuth
Une API pour Gmail, Outlook et IMAP

L'API Email d'Unipile vous permet d'envoyer des e-mails depuis des comptes Gmail, Outlook et IMAP avec un endpoint unifié unique – aucune configuration OAuth spécifique au fournisseur n'est requise. Connectez vos comptes en quelques minutes, pas en quelques jours.

Commencez à construire gratuitement
Gmail Outlook IMAP Gmail, Outlook, IMAP
Comparaison de l'API Gmail et du SMTP - Unipile
Comparaison

API Gmail vs SMTP, laquelle devriez-vous utiliser ?

L'API Gmail et le SMTP de Gmail vous permettent d'envoyer des e-mails par programme, mais ils répondent à des cas d'utilisation très différents. Voici une comparaison directe pour vous aider à choisir.

Fonctionnalité API Gmail Gmail SMTP
Authentification OAuth 2.0 Mot de passe d'application ou OAuth
Limite d'envoi quotidienne 2,000 Espace de travail, 500 gratuit 500/jour Gmail gratuit
Pièces jointes Jusqu'à 25 Mo Jusqu'à 25 Mo
E-mails HTML Oui, Oui,
Suivi de fil Étiquettes et fils Non
Lire les accusés de lecture Oui, Non
Accès programmatique Complet, rechercher, étiquettes, brouillons, webhooks Envoyer seulement
Complexité d'installation Elevé OAuth + console cloud Faible Mot de passe d'application seulement
Meilleur pour Applications SaaS, CRM, intégration ATS Scripts simples, usage personnel
Fonctionnalités comparées
Authentification
API Gmail OAuth 2.0
Gmail SMTP Mot de passe d'application ou OAuth
Limite d'envoi quotidienne
API Gmail 2 000 sur espace de travail, 500 gratuits
Gmail SMTP 500/jour Gmail gratuit
Pièces jointes
API Gmail Jusqu'à 25 Mo
Gmail SMTP Jusqu'à 25 Mo
E-mails HTML
API Gmail Oui,
Gmail SMTP Oui,
Suivi de fil
API Gmail Étiquettes et fils
Gmail SMTP Non
Lire les accusés de lecture
API Gmail Oui,
Gmail SMTP Non
Accès programmatique
API Gmail Complet, rechercher, étiquettes, brouillons, webhooks
Gmail SMTP Envoyer seulement
Complexité d'installation
API Gmail Elevé OAuth + console cloud
Gmail SMTP Faible Mot de passe d'application seulement
Meilleur pour
API Gmail Applications SaaS, CRM, intégration ATS
Gmail SMTP Scripts simples, usage personnel
Pour les applications SaaS et les outils développeurs qui nécessitent une intégration complète de la boîte aux lettres, pas seulement l'envoi, L'API Gmail pour envoyer des e-mails est le choix évident. Si vous avez besoin de prendre en charge plusieurs fournisseurs de messagerie (Gmail, Outlook, IMAP) à partir d'une seule base de code, envisagez L'API email unifiée d'Unipile, il abstrait la complexité d'OAuth pour les trois fournisseurs derrière un seul point d'accès.
Quotas

Limites de débit et quotas de l'API Gmail

Comprendre les limites de débit de l'API Gmail est essentiel avant de passer en production. Le dépassement de ces quotas renvoie une 429 limiteDeTauxDépassee erreur - implémentez toujours un backoff exponentiel.

2,000
Messages / jour
Comptes Google Workspace
500
Messages / jour
Comptes Gmail gratuits (@gmail.com)
10,000
Destinataires / jour
Dans tous les messages envoyés
25 Mo
Taille maximale du message
Tous les accessoires compris
250
Unités de quota / seconde
Par projet, par utilisateur

Gestion des erreurs de limitation de débit avec la mise à l'échelle exponentielle

Lorsque l'API Gmail renvoie un 429 statut, attendez avant de réessayer. Utilisez un backoff exponentiel pour éviter de surcharger l'API et de déclencher des blocages plus longs.

Python Copie
import temps
from googleapiclient.errors import HttpErreur

déf envoyer_avec_réessai(service, user_id, message, nombre_max_tentatives=3):
    pour tentative en plage(nombre_tentatives_max)
        essayer:
            return service.utilisateurs().messages().envoyer(
                userId=user_id,
                body=message
            ).exécutez()
        sauf HttpErreur En tant que erreur :
            si erreur.resp.statut == 429:  # Limité en débit
                temps_attente = (2 ** essai) * 1  # Recul exponentiel : 1s, 2s, 4s
                print(f"Limité. Attente de {wait_time}s avant de réessayer {attempt + 1}/{max_retries}..."temps.Dormir(temps_attente)
            sinon:
                soulever  # Relever immédiatement les erreurs non limitées par le débit
    soulever Exception(f"L'envoi d'e-mail via l'API Gmail a échoué après {max_retries} tentatives")
Dépannage

Erreurs courantes de l'API Gmail et comment les résoudre

La plupart des erreurs d'envoi d'e-mails de l'API Gmail entrent dans trois catégories : échecs d'authentification (401), problèmes de permission (403) et erreurs de requête malformées (400). Voici un tableau de référence avec les causes et les correctifs.

Code HTTP Message d'erreur Cause Solution
401 Non autorisé Jeton d'accès expiré
Utilise ton token_rafraîchissement pour obtenir un nouveau jeton d'accès via oauth2.googleapis.com/token
403 Interdit Portées OAuth insuffisantes
Ajouter https://www.googleapis.com/auth/gmail.send périmètre et réautoriser l'utilisateur
403 Limite de débit dépassée Quota quotidien dépassé
Implémenter un backoff exponentiel - attendre 1s, 2s, 4s entre les tentatives. Voir la section sur les limites de débit ci-dessus.
400 grant_invalide Jeton de rafraîchissement révoqué ou expiré
L'utilisateur doit se réauthentifier et réautoriser votre application. Lancez un nouveau flux de consentement OAuth.
400 Mauvaise requête Message MIME malformé
Vérifiez que le message est codé avec base64.urlsafe_b64encode() - base64 non standard
403 Permissions insuffisantes Compte de service manquant de délégation
Activer la délégation à l'échelle du domaine dans l'administrateur Google Workspace et accorder des étendues de l'API Gmail au compte de service

Vous cherchez une solution unifiée ? Le Guide de l'API Email d'Unipile couvre Gmail, Outlook, IMAP et plus à partir d'une seule intégration - un point d'accès, un flux d'authentification, trois fournisseurs.

Lire le guide de l'API E-mail
Au-delà des API d'email Gmail, Microsoft et IMAP - Unipile
Au-delà de Gmail

Connecter Outlook et IMAP avec la même API

Unipile va au-delà de Gmail. Connectez Microsoft 365, Outlook.com et n'importe quelle boîte aux lettres IMAP via une seule API unifiée, avec OAuth géré pour vous sur Microsoft et une authentification flexible basée sur les identifiants pour IMAP.

Microsoft Outlook
OAuth 2.0

Microsoft Graph API

Vérifié
Permissions API Accordé
Mail.Read
Mail.Send
accès_hors_ligne

Liez les comptes Microsoft avec Unipile en utilisant OAuth. Enregistrez votre application dans Azure Active Directory, configurez Unipile avec l'ID de votre application AAD, et commencez à envoyer des e-mails via Outlook.com, Microsoft 365 et Exchange Online.

Outlook.com, Microsoft 365 et Exchange Online pris en charge
Hosted Auth Alors vos utilisateurs lient leurs comptes sans quitter votre application
Support complet pour la configuration AAD de notre équipe lors de l'inscription
API Microsoft
IMAP
Authentification des identifiants

API IMAP

imap.example.com, 993
SSL
Configuration de la connexion
hôte : imap.provider.com
port 993
utilisateur : michel@company.com
Compte lié, synchronisation active

Pour toute boîte aux lettres compatible IMAP, configurez les paramètres du serveur et choisissez la méthode d'authentification appropriée dans Unipile. Saisissez l'hôte, le port et les identifiants pour établir une connexion sécurisée., aucun flux OAuth requis.

N'importe quel fournisseur IMAP prendre en charge, iCloud, Yahoo, Proton Bridge, serveurs personnalisés
Mots de passe d'application et pont OAuth prise en charge là où disponible
Stockage sécurisé des identifiants avec chiffrement complet au repos
API IMAP
Une seule API, tous les fournisseurs d'emails
Prenez en charge Gmail, Outlook et IMAP simultanément sans avoir à maintenir trois intégrations distinctes.
Découvrez l'API unifiée pour les e-mails
FAQ - Gmail API - Envoyer un e-mail - Unipile
FAQ

Gmail API Envoyer un e-mail, Foire aux questions

Réponses aux questions les plus courantes sur l'envoi d'e-mails par programme avec l'API Gmail.

01 Comment envoyer un e-mail en utilisant l'API Gmail ?
Activer l'API Gmail dans la Google Cloud Console, créer des identifiants OAuth 2.0 avec gmail.envoyer portée, construire un message MIME, l'encoder au format base64url, puis l'envoyer en POST à envoyer.messages.utilisateurs point de terminaison. Voir le Exemple Python et des exemples de code Node.js ci-dessus pour une implémentation complète, prête à être copiée-collée.
02 L'API Gmail est-elle gratuite à utiliser ?
Oui, l'API Gmail n'a pas de coût direct. Les comptes Gmail gratuits peuvent envoyer jusqu'à 500 e-mails par jour ; les comptes Google Workspace en reçoivent 2 000 par jour. Des quotas supplémentaires peuvent s'appliquer en fonction de la configuration de votre projet Google Cloud et du nombre d'appels API par seconde.
03 Quelle est la différence entre l'API Gmail et SMTP ?
L'API Gmail pour envoyer des e-mails offre un accès programmatique complet à la boîte aux lettres (conversations, libellés, brouillons, webhooks) avec la sécurité OAuth 2.0 et des limites quotidiennes plus élevées. SMTP ne prend en charge que l'envoi. Pour les applications SaaS nécessitant une intégration complète de la boîte de réception, l'API Gmail est le bon choix ; pour les scripts personnels simples, SMTP peut suffire.
04 Puis-je envoyer des e-mails avec des pièces jointes en utilisant l'API Gmail ?
Oui. Créez un message MIME multipart avec MIMEMultipart, joindre des fichiers en utilisant MIMEBase, encodez le message complet en base64url, et envoyez via le point de terminaison d'envoi d'e-mail de l'API Gmail. La taille maximale des pièces jointes est de 25 Mo par message. Voir l'exemple de code de pièces jointes dans la section ci-dessus.
05 Comment envoyer un e-mail au nom d'un autre utilisateur avec l'API Gmail ?
Pour la délégation à l'échelle du domaine, configurez un compte de service dans la console Google Cloud avec les étendues de l'API Gmail, puis transmettez userId='target@domain.com' à envoyer(). Pour la délégation d'utilisateurs individuels, consultez notre guide d'envoi d'e-mails au nom de l'utilisateur.
06 Quelles sont les limites de débit de l'API Gmail ?
Gmail gratuit : 500 messages par jour. Google Workspace : 2 000 messages par jour. Les deux formules partagent une limite de 10 000 destinataires par jour et une limite de taille de 25 Mo par message. Implémenter une remise progressive exponentielle pour gérer 429 limiteDeTauxDépassee gérer les erreurs avec élégance, consultez la section des limites de débit ci-dessus pour un exemple de code complet.
07 L'API Gmail prend-elle en charge les e-mails HTML ?
Oui. Utiliser MIMEMultipart('alternative') avec les deux un texte/plain solution de secours et un texte/html part. Encodez le message MIME complet au format base64url avant de l'envoyer via le point de terminaison d'envoi d'e-mails de l'API Gmail. Les clients Gmail affichent la version HTML ; les autres clients reviennent automatiquement au texte brut.
08 Comment gérer les erreurs d'authentification de l'API Gmail ?
401 Non autorisé, votre jeton d'accès a expiré : utilisez le token_rafraîchissement pour en obtenir un nouveau via oauth2.googleapis.com/token. 403 Interdit, manquant gmail.envoyer portée : réautoriser avec les bonnes portées. 400 code d'autorisation invalide, jeton d'actualisation révoqué : l'utilisateur doit réauthentifier votre application à partir de zéro.
Besoin d'un chemin plus simple pour l'intégration e-mail ?
Évitez l'OAuth spécifique au fournisseur, connectez Gmail, Outlook et IMAP avec une seule API.
Parler à un expert

Vous aimerez aussi

API de synchronisation de calendrier pour SaaS : Intégration en temps réel de Google et Outlook

API de synchronisation de calendrier pour SaaS : Intégration en temps réel de Google et Outlook

Pour les CRM, les ATS, les plateformes d'approche et les logiciels pilotés par l'IA, une API de calendrier fiable n'est plus un luxe. Il s'agit désormais d'un élément essentiel qui stimule la productivité, les flux de travail de réservation, les suivis, les séquences automatisées et la coordination de l'équipe. Pourtant, la mise en œuvre de la synchronisation des calendriers est...

lire plus
Le guide complet du développeur pour l'intégration de l'API de Calendrier

Le guide complet du développeur pour l'intégration de l'API de Calendrier

Les logiciels modernes reposent sur des connexions entre les personnes, les systèmes et le temps lui-même. Au cœur de cette connectivité se trouve l'API Calendrier, un composant essentiel qui permet aux applications de lire, de créer et de synchroniser des événements de calendrier de manière transparente. Que vous construisiez un CRM, une plateforme de recrutement ou une...

lire plus
API d'e-mail : guide complet pour les développeurs (2026)

API d'e-mail : guide complet pour les développeurs (2026)

Le paysage des fournisseurs d'API d'e-mail Trois fournisseurs couvrent environ 95% des e-mails professionnels dans le monde : Gmail (et Google Workspace), Microsoft Outlook / Microsoft 365, et les protocoles universels IMAP / SMTP pour le reste. Comprendre ce que chacun offre, et en quoi ils diffèrent, est la première étape...

lire plus
fr_FRFR