Gmail API Enviar Correo Electrónico: Ejemplos de Código Python y Node.js (2026)

Inicio rápido

Enviar correo electrónico con la API de Gmail en 5 líneas

1
Instalar el SDK
npm install unipile-node-sdk
2
Establecer variables de entorno
Añadir UNIPILE_DSN y UNIPILE_TOKEN a tu .env archivo.
3
Enlace a una cuenta de Gmail
Flujo OAuth gestionado por Unipile: el refresco del token es automático, no se necesita una reautenticación manual.
4
Llamar client.email.enviar()
Pasar account_id, a, temay cuerpo. Hecho.
5
Revisa la respuesta
La API devuelve un seguimiento_id confirmando la entrega a través de la API de Gmail.
Mismo código para Outlook e IMAP - una API unificada, no se necesita lógica específica del proveedor.
enviar-correo.mjs
import { UnipileClient } from 'unipile-node-sdk';const client = nuevo UnipileClient( process.env.UNIPILE_DSN, process.env.UNIPILE_TOKEN);const resultado = esperará cliente.email.enviarid_cuenta: 'acc_xxxxxxxxxxxxxxxx', para: [{ nombre_a_mostrar: 'Alicia Martín', identificador: 'alice@acme.com'}], asunto: 'Hola desde la API de Gmail', cuerpo: '

¡Enviado vía Unipile!

'
});consola.log(resultado); // { tracking_id: 'msg_...' }
Correo enviado - se devolvió tracking_id
Gmail API Enviar Email - Unipile
API de correo electrónico

Enviar correo electrónico con la API de Gmail,
Python y Node.js
Ejemplos de código

Una guía completa para desarrolladores sobre cómo enviar correos electrónicos programáticamente con la API de Gmail: configuración de OAuth 2.0, ejemplos de código, límites de frecuencia y comparación con SMTP.

8 min de lectura
Actualizado junio de 2025
Python, Node.js
OAuth 2.0 SMTP Límites de tarifa Autenticación API REST
gmail_enviar.py
# Enviar correo electrónico con Gmail API
import base64
from email.mime.text import MIMEText
from googleapiclient.discovery import construir

def enviar_correo(servicio, a, asunto, cuerpo)
    msg = MIMEText(cuerpo)
    msg['a'] = a
    msg['asunto'= tema
    raw = base64.urlsafe_b64encode(
        msg.al_bocado()
    ).decodificar()
    return servicio.usuarios().mensajes().enviar(
        userId=yo,
        cuerpo={'crudo'crudo
    ).ejecutar()
✓ Mensaje enviado, ID: 18e3f2a9c4b...
También funciona con:
Outlook IMAP Calendario de Google
via la API Unificada de Unipile
¿Integración de correo electrónico?

Lee nuestro Guía completa de la API de correo electrónico - Flujos OAuth, sincronización, envío y comparación de proveedores.

API de Gmail para enviar correos electrónicos - Unipile
Gmail API de Gmail

¿Qué es la API de envío de correo electrónico de Gmail?

Enviar correos electrónicos a través de la API de Gmail implica el uso de solicitudes HTTP para interactuar con los sistemas de backend de Gmail. En lugar de redactar y enviar correos electrónicos manualmente a través de la interfaz de Gmail, los desarrolladores pueden automatizar el proceso dentro de sus aplicaciones.

La API proporciona puntos finales que permiten a los desarrolladores crear y enviar mensajes de correo electrónico en varios formatos, incluyendo texto plano, HTML y correos electrónicos con archivos adjuntos. También admite funciones más avanzadas como la gestión de hilos y etiquetas de correo electrónico, lo que la convierte en una solución integral para la comunicación programática por correo electrónico. Para el envío multi-proveedor (Gmail, Outlook, IMAP), consulte la guía de la API unificada de envío de correo electrónico. Para un enfoque multidispositivo, explora el API para enviar correo electrónico.

Gmail michel@company.com
3 mensajes
Todos
Enviado
Inbox
Sarah Lee
Sarah Lee
Recibido 9:41 AM
Re: Contrato firmado adjunto
Gracias Michel, he revisado todo y se ve bien...
Michel Opra
Michel Opraa Oscar B.
Enviado Ayer
Informe Q2, versión final
Hola Oscar, adjunto el informe final del segundo trimestre para su revisión...
Oscar Brown
Oscar Brown
Recibido Lun
Seguimiento de nuestra llamada de la semana pasada
Hola, solo quería saber cómo va el cronograma de la integración de la API...
Por qué usar la API de Gmail para enviar correos electrónicos - Unipile
Beneficios clave

¿Por qué utilizar la API de Gmail para enviar mensajes de correo electrónico?

El uso de la API de Gmail para enviar correos electrónicos ofrece varias ventajas que la convierten en una opción potente para las aplicaciones modernas.

Automatización

Automatiza tareas rutinarias de correo electrónico, ahorrando tiempo y reduciendo errores manuales en todo tu flujo de trabajo.

Ahorra horas semanalmente

Integración

Integra el envío de correos electrónicos directamente en el flujo de trabajo de tu aplicación, mejorando la experiencia del usuario con un flujo transparente.

Experiencia de usuario nativa en la aplicación

Personalización

Personaliza el contenido del correo electrónico dinámicamente basándote en datos del usuario o el estado de la aplicación para mensajes verdaderamente personalizados.

Plantillas dinámicas

Escalabilidad

Gestione eficientemente el envío de correos electrónicos de gran volumen, ideal para aplicaciones que requieren comunicación a gran escala.

Listo para alto volumen
Configuración de la API de Gmail, Guía Paso a Paso - Unipile

Configuración de la API de Gmail para enviar mensajes de correo electrónico

Documentación de Google OAuth

Google exige que las aplicaciones de terceros envíen sus aplicaciones para la verificación del uso de datos de usuarios de Google. Sigue la 10 pasos a continuación para configurar OAuth, habilitar la API de Gmail y tener sus credenciales listas para producción. Ver también: asegurando tu integración de API de correo electrónico.

1
2
3
4
5
6
7
8
9
10
01

Acceder a la Google Developers Console

Inicia sesión en Consola de desarrolladores de Google Para comenzar la configuración de tu proyecto, necesitarás una cuenta de Google con privilegios de administrador.

02

Crear un nuevo proyecto de Google

Inscríbete en Consola de desarrolladores de Google y crea un proyecto nuevo o utiliza un proyecto existente de Google. Haz clic en NUEVO PROYECTO en el selector de proyectos para empezar.

Crear un proyecto nuevo en la Consola de Google Cloud
03

Crear credenciales de ID de cliente de OAuth

Navegar a APIs y Servicios > Credenciales, luego haz clic CREAR CREDENCIALES > ID de cliente OAuth.

  • Tipo de aplicación: Aplicación web
  • Nombre: Su nombre interno
  • Añadir 2 URI de redireccionamiento autorizados usando tu DSN de Unipile (disponible en Cuadro de mandos de 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 vez creado, añade el ID de cliente y Secreto del cliente a Panel de Unipile > Configuración > Google OAuth.

Crear credenciales de ID de cliente de OAuth
04

Habilitar la biblioteca de la API de Gmail

Ir a APIs y Servicios > Biblioteca, buscar información API de Gmail, y haz clic ACTIVAR.

Habilitar biblioteca API de Gmail
05

Configurar pantalla de consentimiento de OAuth, Tipo de usuario

Elige tu Tipo de Usuario según tu fase de pruebas:

  • Interno: Limitado a usuarios de Google Workspace dentro de tu organización.
  • Externo y en pruebas: Se requiere agregar usuarios de prueba. Los tokens caducan en 7 días.

Para más detalles sobre Tipos de Usuario, consulta la Documentación de Google.

Seleccionar tipo de usuario OAuth
06

Rellena la información de la aplicación

En la pantalla de consentimiento de OAuth, proporcione lo siguiente:

  • Nombre de la aplicación: El nombre visible de tu aplicación.
  • Correo electrónico de soporte al usuario: Una dirección de correo electrónico de contacto o una lista de distribución para preguntas de los usuarios.
  • Logotipo de la aplicación: Cargue el logotipo de su aplicación para la identificación visual.
Información de la aplicación OAuth
07

Establecer información del dominio de la aplicación

  • URL de la página de inicio de la aplicación: Una página de inicio real, no solo una página de inicio de sesión.
  • Enlace a la Política de Privacidad: Asegúrate de que cumpla Requisitos específicos de Google, particularmente la sección de Uso Limitado.
  • Enlace a los Términos de Servicio: URL de los términos de servicio públicos.
Dominio de la aplicación OAuth
08

Añadir Dominios Autorizados

  • Agrega el dominio de tu aplicación de producción (no el dominio de desarrollo o staging).
  • Añadir unipile.com como un segundo dominio autorizado.
Dominios Autorizados
09

Ingresar información de contacto del desarrollador

Proporcione una dirección de correo electrónico que Google pueda utilizar para las notificaciones de verificación. Utilice una lista de distribución para que todos los miembros relevantes del equipo reciban actualizaciones. Supervísela regularmente, ya que los correos electrónicos de Google pueden terminar en las carpetas de spam.

Información de contacto del desarrollador
10

Agregar Alcances Requeridos

Clic AGREGAR O QUITAR ALCANCES y agrega lo siguiente (actualiza la página si no aparecen):

./auth/gmail.send
./auth/gmail.etiquetas
./auth/gmail.readonly
./auth/gmail.modificar

Nota: gmail.modificar solo es necesario si necesita mover o eliminar correos electrónicos. Si no lo usa, póngase en contacto con el soporte de Unipile para eliminarlo de su cuenta manualmente.

Añadir ámbitos de la API de Gmail
Opcional, Para aplicaciones de producción
11
Genera tu video de demostración
Requerido solo una vez que tu integración esté completamente activa en producción

Produzca y aloje un video de demostración que cumpla con las estipulaciones de Google. Cárguelo como un Video de YouTube no listado, solo se permite un enlace de video.

Antes de crear el vídeo
  • Tu aplicación y el flujo de OAuth se presentan en inglés, como se indica en la documentación de Google.
  • La demostración se lleva a cabo en un dominio a nivel de producción.
  • En la configuración del Proyecto de Google, confirmar Estado de publicación En producción Tipo de Usuario es "Externo".
Segmento de autenticación
  • Muestra la página de inicio de tu aplicación con la URL completa.
  • Ilustre cómo un cliente de Google puede conectar su cuenta a través del botón oficial de inicio de sesión de Google.
  • Durante el flujo OAuth, resalta la URL y revela el ID DE CLIENTE.
Segmento de funcionalidad
  • Muestra secuencialmente cada alcance que se está solicitando, adaptado a tu caso de uso específico.
  • Demuestra la funcionalidad bidireccional mostrando la sincronización entre tu aplicación y Gmail (envío, recepción y actualizaciones de la lista de correos enviados).
Pasos de envío
  • Añade el video final a tu Proyecto de Google como un enlace de video de YouTube no listado.
  • Envía la URL de YouTube a tu Gerente de Éxito del Cliente para que la revise.
  • Después de la revisión, proceda con la presentación de verificación de la aplicación.

Calendario: la verificación puede tardar desde 2 a 8 semanas dependiendo de la cola de Google y el número de rondas de remediación.

12
Lista blanca y revisión de seguridad para ámbitos restringidos
Se aplica solo si tu aplicación usa alcances restringidos

Si tu aplicación utiliza ámbitos restringidos, se requieren pasos adicionales.

Evaluación de seguridad de Google

Las aplicaciones que solicitan acceso a datos de usuario de Google con un alcance restringido deben someterse a una evaluación de seguridad a través de la CASA (Evaluación de seguridad de aplicaciones en la nube) programa. Google clasifica tu aplicación como de Nivel 2 o Nivel 3.

Nivel 2, Autoscaneado
Verificado en laboratorio, más común. Opción gratuita o de pago a través de un evaluador externo.
Nivel 3, Laboratorio Escaneado
Verificado en laboratorio, solo se paga. Debe ser completado por un evaluador externo.
Reevaluación anual

Las aplicaciones que acceden a ámbitos restringidos deben completar una evaluación de seguridad. cada 12 meses para mantener el acceso. Si introduces un nuevo alcance restringido que no fue aprobado previamente, tu aplicación podría requerir una reevaluación.

El equipo de revisión de Google iniciará el contacto por correo electrónico. Mantén tu Propietario del Proyecto y Editor de proyectos información actualizada en Cloud Console para que los miembros adecuados del equipo reciban estas notificaciones.

Opción de lista blanca

Como alternativa a la revisión de seguridad estándar, puedes hacer que tu aplicación sea incluida en la lista blanca. Esto omite los procedimientos habituales pero solo se aplica si tu aplicación cumple criterios muy específicos:

  • La mayoría de los clientes utilizan Google Workspace: la mayoría de los clientes deberían tener correos electrónicos en el formato @empresa.com.
  • Lista blanca iniciada por el administrador: tus administradores de usuarios finales permiten el acceso a través de su Consola de administración utilizando tu ID de cliente de Google.
  • Uso limitado de Gmail personal: menos de 100 cuentas personales de Gmail (@gmail.com) deben autenticarse.
  • Los proyectos no verificados tienen un límite de 100 usuarios de por vida. Las cuentas de Workspace no cuentan para este límite, pero las cuentas personales de Gmail sí lo hacen siempre.
  • Los usuarios de la versión de prueba gratuita deben utilizar su dirección de correo electrónico de Workspace y poner la aplicación en la lista blanca.

La lista blanca es una solución alternativa y puede que no sea adecuada para todos los casos de uso. Evalúe los criterios cuidadosamente antes de elegir esta vía.

Casos de uso de la API de Gmail, CRM ATS Gestión de contactos iPaaS - Unipile
Casos prácticos

Gmail API para CRM, ATS, Outreach e iPaaS

Automatiza el envío de correos electrónicos, sincroniza conversaciones y centraliza la comunicación con los clientes en todo tipo de plataformas SaaS B2B.

Sistemas CRM

Registra y envía correos electrónicos sin salir de tu CRM

Automatiza la comunicación por correo electrónico, realiza un seguimiento de las interacciones y mejora la participación del cliente. Registra correos electrónicos de clientes, envía mensajes personalizados y centraliza todas las conversaciones dentro de tu pipeline.

Sincronización bidireccional entre Gmail y los registros de contactos
Registro automático de correos electrónicos enviados y recibidos por acuerdo
Plantillas y campos de combinación para alcance personalizado
API de correo electrónico para CRM
Red de CRM
Gmail sincronizado
Oportunidades
NexaTech
$32.000
2
Orbix
$18.500
Synthex
$24.200
Quark
$9.800
Gmail Gmail
LinkedIn
Tareas
Yo
Hola Michel, Por favor, encuentra el contrato adjunto. Saludos.
Michel Opra → Yo
Hola Sarah, Gracias. Por favor, encuentra el contrato firmado. Que tengas un buen día.
ATS y Reclutamiento

Envía correos electrónicos a candidatos desde una bandeja de entrada unificada

Simplifique la comunicación con los candidatos, programe entrevistas y envíe cartas de oferta directamente desde su plataforma de reclutamiento. Cada respuesta se adjunta automáticamente al perfil correcto del candidato.

Alcance masivo a candidatos de origen con seguimiento
Programación de entrevistas correos electrónicos con integración de calendario
Conversaciones con hilos por candidato, por puesto
API de correo electrónico para ATS
Canal de candidatos
3 enviados hoy
Fuente
Alice K.
Ben M.
Contacto
Clara V.
Diego S.
Entrevista
Emma R.
Contratado
Félix O.
Gmail Invitación a entrevista, puesto de Ingeniero Senior ENVIADO
Hola {{candidate.firstName}}, nos encantaría invitarte a una llamada de 45 minutos la próxima semana...
Herramientas de captación y ventas

Impulsa secuencias de correo electrónico de varios pasos a escala

Crea secuencias multicanal con Gmail como motor de correo electrónico principal. Envía mensajes personalizados, haz seguimiento de aperturas y respuestas, y activa seguimientos basados en el comportamiento de tus prospectos.

Cadencias de varios pasos con Gmail, LinkedIn y WhatsApp
Seguimiento de apertura y respuesta para medir lo que funciona
Pausa automática al responder para mantener las conversaciones humanas
API de correo electrónico para la divulgación
Secuencia, Fundadores de SaaS Q2
Activo
1
Día 1, Correo electrónico de introducción
Enviado a 124 prospectos, 42 aperturas
Gmail
2
Día 3, conexión de LinkedIn
82 solicitudes enviadas, 31 aceptadas
LinkedIn
3
Día 5, correo de seguimiento
Enviando ahora, 18 en cola
Gmail
124
Enviado
34%
Tasa de apertura
12
Respuestas
iPaaS y Flujo de Trabajo

Activa acciones de Gmail dentro de cualquier flujo de trabajo

Incorpore las capacidades de envío de Gmail en los creadores de automatización. Permita que los usuarios finales conecten su cuenta de Gmail y activen correos electrónicos como parte de flujos de trabajo de varios pasos, sin tener que crear el flujo de OAuth desde cero.

OAuth de usuario final gestionado por Unipile, sin trabajo de desarrollo
Disparadores de webhooks en eventos de correo electrónico nuevo
Escalar a miles de cuentas de Gmail vinculadas
API de correo electrónico para iPaaS
Generador de flujos de trabajo
Ejecutar
Gmail
Gmail
Unipile
LinkedIn
LinkedIn
WhatsApp
WhatsApp
Disparador, nuevo correo electrónico recibido
Ruta automática a la acción de seguimiento de LinkedIn
En directo
Características clave de la API de Gmail para enviar correos electrónicos - Unipile
Endpoints Principales

Características clave de la API de Gmail Envío de correo electrónico

Recupera correos electrónicos, redacta y envía mensajes nuevos, administra etiquetas y recibe notificaciones webhook en tiempo real. Cuatro funcionalidades centrales que cubren cada flujo de trabajo de correo electrónico en tu aplicación.

GET

Listar todos los emails

unipile-api
rizo --solicitar OBTENGA --url https://api.unipile \ .com/api/v1/emails \ --header 'aceptar: json'

Recupera y muestra correos electrónicos de la cuenta de Gmail de un usuario. Filtra por carpeta, fecha, remitente o estado de lectura para una búsqueda y gestión potentes.

Lista de funciones de correo electrónico
POST

Enviar correo nuevo

unipile-api
rizo --solicitar POST --url https://api.unipile \ .com/api/v1/emails \ --header 'tipo-de-contenido: formulario'

Componha e envie e-mails programaticamente diretamente do seu aplicativo. Suporte a HTML, texto simples, anexos, CC, CCO e respostas de conversas.

Enviar correo electrónico
GET

Listar y Obtener Etiquetas

unipile-api
rizo --solicitar OBTENGA --url https://api.unipile \ .com/api/v1/carpetas \ --header 'aceptar: json'

Administra las etiquetas y carpetas de Gmail creando una lista o recuperando detalles de etiquetas individuales. Organiza y clasifica correos electrónicos para un enrutamiento de flujo de trabajo más inteligente.

Listar y obtener etiqueta
POST

Seguimiento de Webhook

unipile-api
rizo --solicitar POST --url https://api.unipile \ .com/api/v1/webhooks \ --header 'aceptar: json'

Configura webhooks para recibir actualizaciones en tiempo real sobre la actividad de los correos electrónicos. Activa acciones instantáneas ante nuevos mensajes, aperturas, respuestas o rebotes.

Notificación de Webhook
Descripción general de los puntos finales de la API de Gmail - Unipile
Gmail Puntos finales de la API de Gmail

Todo lo que puedes hacer con la API de Gmail

Una descripción completa de los endpoints de Gmail disponibles a través de Unipile, desde la conexión de cuentas hasta el seguimiento de webhooks.

Conexión de cuentas
2 puntos finales
Autenticación alojada, autenticación de correo electrónico de marca blanca
POST
Usar tu propia pantalla de consentimiento OAuth de la app
POST
Enviar y recibir
5 puntos finales
Enviar un correo electrónico, con archivos adjuntos, CC, CCO
POST
Responder a un correo electrónico, manteniendo el contexto del hilo
POST
Listar todos los correos electrónicos, con filtros y paginación
GET
Obtener un correo electrónico específico por ID
GET
Descargar archivos adjuntos de un correo electrónico
GET
Organizar y Etiquetas
5 puntos finales
Listar carpetas y etiquetas
GET
Obtener detalles de carpeta o etiqueta
GET
Mover un correo electrónico a otra carpeta
PATCH
Actualizar correo electrónico, marcar como leído, no leído, destacado
PATCH
Eliminar un correo electrónico permanentemente o a la papelera
BORRAR
Webhooks y seguimiento
3 eventos
Evento de correo electrónico nuevo recibido
POST
Evento de correo electrónico enviado, seguimiento de respuestas
POST
Eventos de seguimiento de apertura y clics
POST

Cómo enviar un correo electrónico con la API de Gmail

Ejemplos completos de Python y Node.js para enviar texto plano, HTML y correos electrónicos con archivos adjuntos a través de la API de Gmail. Listos para copiar y pegar con autenticación OAuth 2.0 incluida.

1 Enviar un correo electrónico de texto plano (Python)

Usa el oficial cliente-google-api-python y google-autenticacion bibliotecas. La función construye un mensaje MIME, lo codifica a base64url y lo envía al punto final de envío de la API de Gmail.

Python Copia
import base64
from email.mime.text import MIMEText
from google.oauth2.credenciales import Credenciales
from googleapiclient.discovery import construir

def enviar_correo(para, asunto, cuerpo, credenciales_diccionario):
    creds = Credenciales(**credentials_dict)
    servicio = construir('Gmail', 'v1', credenciales=creds)

    mensaje = MIMEText(cuerpo)
    mensaje['a'] = a
    mensaje['asunto'] = sujeto

    raw = base64.urlsafe_b64encode(mensaje.como_bytes()).descifrar()

    resultado = servicio.usuarios().messages().enviar(
        idUsuario=yo,
        cuerpo={'crudo'Por ejemplo: }.ejecutar()

    print(f"Mensaje enviado. ID: {result['id']}")
    return resultado

# Uso
enviar_correoA'recipient@example.com',
    asunto='Hola desde la API de Gmail',
    cuerpo='Este correo electrónico fue enviado a través de la API de Gmail para enviar correos electrónicos.',
    credentials_dict={
        'ficha': 'TU_TOKEN_DE_ACCESO',
        'token_de_actualización': 'TU_TOKEN_DE_REFRESCO',
        'client_id': 'TU_CLIENT_ID',
        'client_secret': 'TU_SECRETO_DE_CLIENTE',
        'uri_token': 'https://oauth2.googleapis.com/token'
    }
)

2 Enviar un correo electrónico de texto plano (Node.js)

Utilice la googleapis paquete npm. El mensaje se construye como una cadena RFC 2822 sin procesar, codificada en base64url y enviada a través de la API de Gmail.

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

async function enviarCorreo(autenticación, para, asunto, cuerpo) {
  const gmail = google.gmail({ version: 'v1'auth });

  const mensaje = [
    Para: ${to},
    Asunto: ${subject},
    '',
    cuerpo
  ].unir('N');

  const mensajeCodificado = Tampón.from(mensaje) .toString(base64)
    .reemplazar(/\+/g, '-')
    .reemplazar(/\//g, '_')
    .reemplazar(/=+$/, '');

  const resultado = await gmail.usuarios.mensajes.enviaruserId: yo,
    requestBody: { raw: encodedMessage }
  });

  console.log(Mensaje enviado. ID: ${result.data.id});
  return result.data;
}

// Configuración de OAuth2
const oauth2Cliente = new google.auth.OAuth2(
  'TU_CLIENT_ID',
  'TU_SECRETO_DE_CLIENTE',
  'TU_URI_DE_REDISDIRECCION'
);

clienteOauth2.establecerCredencialestoken_de_acceso: 'TU_TOKEN_DE_ACCESO',
  token_de_actualización: 'TU_TOKEN_DE_REFRESCO'
});

enviarCorreo(oauth2Client, 'recipient@example.com', 'Hola', '¡Enviado vía Gmail API enviar correo electrónico!');

3 Enviar un correo electrónico HTML (Python)

Utilice MIMEMultipart('alternative') con ambos texto/simple de respaldo y un html/texto parte. Los clientes de Gmail renderizarán la versión HTML; otros clientes recurrirán a texto plano.

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

def enviar_correo_html(servicio, a, asunto, html_cuerpo):
    mensaje = MIMEMultipart('alternativa')
    mensaje['a'] = a
    mensaje['asunto'= tema

    # Respaldo de texto sin formato
    text_part = MIMEText('Por favor, vea este correo electrónico en un cliente compatible con HTML.', 'llano')
    # Versión HTML
    html_parte = MIMEText(html_cuerpo, 'html'Mensaje.adjuntarmensaje.adjuntarraw = base64.urlsafe_b64encode(mensaje.como_bytes()).descifrar()

    return servicio.usuarios().messages().enviar(
        idUsuario=yo,
        cuerpo={'crudo'Por ejemplo: }.ejecutar()

# Uso
html_contenido = """

  
    

¡Hola!

Este correo electrónico fue enviado con Enviar correo electrónico con la API de Gmail.

"""
enviar_correo_html(servicio, 'to@example.com', 'Correo electrónico HTML a través de la API de Gmail', contenido_html)

4 Enviar un correo electrónico con archivos adjuntos (Python)

Adjunta cualquier tipo de archivo leyendo los bytes del archivo, adivinando el tipo MIME y adjuntándolo a un MIMEMultipart mensaje. El tamaño máximo de adjunto es de 25 MB por mensaje.

Python Copia
import base64
import tipos MIME
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import codificadores

def enviar_correo_con_adjunto(servicio, a, asunto, cuerpo, ruta_archivo):
    mensaje = MIMEMultipart()
    mensaje['a'] = a
    mensaje['asunto'] = asunto
    mensaje.adjuntar(MIMETextcuerpo, 'llano'))

    # Detectar tipo MIME y adjuntar archivo
    tipo_contenido, codificación = mimetypes.adivinar_tipo(ruta_del_archivo)
    tipo_principal, subtipo = tipo_contenido.separar('/', 1)

    con abrir(ruta_del_archivo, 'rb') como f:
        adjunto = MIMEBase(tipo_principal, subtipo)
        adjunto.establecer_carga(f.leercodificadores.codificar_base64adjunto.agregar_encabezado(
            'Content-Disposition',
            f'adjunto; nombre de archivo="{file_path.split("/")[-1]}"
        )
        mensaje.adjuntar(adjunto)

    crudo = base64.urlsafe_b64encode(mensaje.como_bytes()).descifrar()

    return servicio.usuarios().messages().enviar(
        idUsuario=yo,
        cuerpo={'crudo'Por ejemplo: }.ejecutar()
Evita la complejidad de OAuth
Una API para Gmail, Outlook e IMAP

La API de correo electrónico de Unipile te permite enviar correos electrónicos desde cuentas de Gmail, Outlook y IMAP con un único punto de conexión unificado, sin necesidad de configuración de OAuth específica del proveedor. Vincula cuentas en minutos, no en días.

Empieza a construir gratis
Gmail Outlook IMAP Gmail, Outlook, IMAP
Comparación de la API de Gmail vs. SMTP - Unipile
Comparación

Gmail API vs SMTP, ¿cuál deberías usar?

Tanto la API de Gmail como el SMTP de Gmail te permiten enviar correos electrónicos mediante programación, pero sirven para casos de uso muy diferentes. Aquí tienes una comparación directa para ayudarte a elegir.

Característica API de Gmail Gmail SMTP
Autenticación OAuth 2.0 Contraseña de aplicación u OAuth
Límite de envío diario 2,000 Espacio de trabajo, 500 gratis 500/día Gmail gratis
Archivos adjuntos Hasta 25 MB Hasta 25 MB
Correos electrónicos HTML
Seguimiento de hilo Etiquetas e hilos No
Leer recibos No
Acceso programático Completo, buscar, etiquetas, borradores, webhooks Enviar solamente
Complejidad de la configuración Alta OAuth + Consola en la nube Bajo Contraseña de aplicación solamente
Mejor para Aplicaciones SaaS, CRM, integración ATS Guiones simples, uso personal
Características Comparadas
Autenticación
API de Gmail OAuth 2.0
Gmail SMTP Contraseña de aplicación u OAuth
Límite de envío diario
API de Gmail 2000 Espacio de trabajo, 500 gratis
Gmail SMTP 500/día de Gmail gratis
Archivos adjuntos
API de Gmail Hasta 25 MB
Gmail SMTP Hasta 25 MB
Correos electrónicos HTML
API de Gmail
Gmail SMTP
Seguimiento de hilo
API de Gmail Etiquetas e hilos
Gmail SMTP No
Leer recibos
API de Gmail
Gmail SMTP No
Acceso programático
API de Gmail Completo, buscar, etiquetas, borradores, webhooks
Gmail SMTP Enviar solamente
Complejidad de la configuración
API de Gmail Alta OAuth + Consola en la nube
Gmail SMTP Bajo Contraseña de aplicación solamente
Mejor para
API de Gmail Aplicaciones SaaS, CRM, integración ATS
Gmail SMTP Guiones simples, uso personal
Para aplicaciones SaaS y herramientas de desarrollador que necesitan integración completa del buzón de correo, no solo para enviar, Gmail API enviar correo electrónico es la opción clara. Si necesitas soportar múltiples proveedores de correo electrónico (Gmail, Outlook, IMAP) desde una única base de código, considera API unificada de correo electrónico de Unipile, abstrae la complejidad de OAuth para los tres proveedores detrás de un solo endpoint.
Cuotas

Límites y Cuotas de la API de Gmail

Comprender los límites de velocidad de la API de Gmail es esencial antes de pasar a producción. Exceder estas cuotas devuelve un 429 tasaLímiteExcedida error - siempre implementa retroceso exponencial.

2,000
Mensajes / día
Cuentas de Google Workspace
500
Mensajes / día
Cuentas gratuitas de Gmail (@gmail.com)
10,000
Destinatarios / día
En todos los mensajes enviados
25 MB
Tamaño máximo del mensaje
Incluyendo todos los archivos adjuntos
250
Unidades de cuota / segundo
Por proyecto, por usuario

Manejo de errores de límite de tasa con retroceso exponencial

Cuando la API de Gmail devuelve 429 estado, espera antes de reintentar. Utiliza retroceso exponencial para evitar sobrecargar la API y activar bloqueos más largos.

Python Copia
import tiempo
from googleapiclient.errores import Error de conexión HTTP

def enviar_con_reintento(servicio, id_usuario, mensaje, reintentos_max=3):
    para intento en rango(reintentos_máximos):
        intentar:
            return servicio.usuarios().messages().enviar(
                userId=user_id,
                body=mensaje
            ).ejecutar()
        excepto Error de conexión HTTP como error:
            si error.resp.status == 429:  # Límite de velocidad
                tiempo_espera = (2 ** intento) * 1  # Retroceso exponencial: 1s, 2s, 4s
                print(f"Límite de tasa superado. Esperando {wait_time}s antes de reintentar {attempt + 1}/{max_retries}..."hora.dormir(tiempo_de_espera)
            si no:
                elevar  # Vuelve a generar los errores que no son de límite de tarifa inmediatamente
    elevar Excepción(f"El envío de correo electrónico con la API de Gmail falló después de {max_retries} reintentos")
Solución de problemas

Errores comunes de la API de Gmail y cómo solucionarlos

La mayoría de los errores al enviar correos electrónicos de la API de Gmail se dividen en tres categorías: fallas de autenticación (401), problemas de permisos (403) y errores de solicitud malformada (400). Aquí hay una tabla de referencia con causas y soluciones.

Código HTTP Mensaje de error Causa Solución
401 No autorizado El token de acceso ha expirado
Usa tu token de actualización para obtener un nuevo token de acceso a través de oauth2.googleapis.com/token
403 Prohibido Alcances de OAuth insuficientes
Añadir https://www.googleapis.com/auth/gmail.send alcance y reautorizar al usuario
403 límiteDeTarifasExcedido Cuota diaria excedida
Implementa retroceso exponencial: espera 1s, 2s, 4s entre reintentos. Consulta la sección de límites de velocidad anterior.
400 concesión_inválida Token de actualización revocado o expirado
El usuario debe reautenticarse y volver a autorizar tu aplicación. Inicia un nuevo flujo de consentimiento de OAuth.
400 Solicitud incorrecta Mensaje MIME mal formado
Compruebe que el mensaje está codificado con base64.urlsafe_b64encode() - no es base64 estándar
403 permisosInsuficientes Cuenta de servicio que falta delegación
Habilita la delegación en todo el dominio en Google Workspace Admin y concede los ámbitos de la API de Gmail a la cuenta de servicio

¿Busca una solución unificada? El Guía de API de correo electrónico de Unipile cubre Gmail, Outlook, IMAP y más desde una sola integración: un endpoint, un flujo de autenticación, tres proveedores.

Leer la Guía de la API de correo electrónico
Más allá de las API de correo electrónico de Gmail, Microsoft y IMAP - Unipile
Más allá de Gmail

Conecta Outlook e IMAP con la misma API

Unipile va más allá de Gmail. Vincula Microsoft 365, Outlook.com y cualquier buzón IMAP a través de una única API unificada, con OAuth manejado por ti en Microsoft y autenticación flexible basada en credenciales para IMAP.

Microsoft Outlook
OAuth 2.0

API Graph de Microsoft

Verificado
Permisos de API Concedido
Mail.Read
Mail.Enviar
acceso_sin_conexión

Vincula cuentas de Microsoft con Unipile usando OAuth. Registra tu aplicación en Azure Active Directory, configure Unipile con el ID de su aplicación AAD y empiece a enviar correos electrónicos a través de Outlook.com, Microsoft 365 y Exchange Online.

Outlook.com, Microsoft 365 y Exchange Online compatible
Autenticación alojada para que sus usuarios vinculen cuentas sin salir de su aplicación
Soporte completo en la configuración de AAD de nuestro equipo durante el registro
API de Microsoft
IMAP
Credenciales de autenticación

API IMAP

imap.example.com, 993
SSL
Configuración de conexión
anfitrión imap.proveedor.com
puerto 993
usuario: michel@company.com
Cuenta vinculada, sincronización activa

Para cualquier buzón de correo compatible con IMAP, configure los ajustes del servidor y elija el método de autenticación apropiado dentro de Unipile. Introduzca el host, el puerto y las credenciales para establecer una conexión segura., no se requiere flujo OAuth.

Cualquier proveedor de IMAP soportado, iCloud, Yahoo, Proton Bridge, servidores personalizados
Contraseñas de aplicaciones y puente OAuth soportado donde esté disponible
Almacenamiento seguro de credenciales con cifrado completo en reposo
API IMAP
Una API, todos los proveedores de correo electrónico
Soporta Gmail, Outlook e IMAP uno junto al otro sin mantener tres integraciones separadas.
Descubre la API de correo unificada
Preguntas frecuentes sobre el envío de correos electrónicos con la API de Gmail - Unipile
PREGUNTAS FRECUENTES

Gmail API para enviar correos electrónicos, preguntas frecuentes

Respuestas a las preguntas más comunes sobre el envío de correos electrónicos mediante programación con la API de Gmail.

01 ¿Cómo envío un correo electrónico usando la API de Gmail?
Habilita la API de Gmail en la Consola de Google Cloud, crea credenciales OAuth 2.0 con gmail.enviar ámbito, construir un mensaje MIME, codificarlo en formato base64url, luego POSTear a usuarios.mensajes.enviar punto de conexión. Ver el Ejemplo de Python y ejemplos de código de Node.js anteriores para una implementación completa, lista para copiar y pegar.
02 ¿La API de Gmail es gratuita?
Sí, la API de Gmail no tiene un costo directo. Las cuentas gratuitas de Gmail pueden enviar hasta 500 correos electrónicos por día; las cuentas de Google Workspace obtienen 2,000 por día. Pueden aplicarse cuotas adicionales según la configuración de tu proyecto de Google Cloud y el número de llamadas a la API por segundo.
03 ¿Cuál es la diferencia entre la API de Gmail y SMTP?
La Gmail API ofrece acceso programático completo al buzón (hilos, etiquetas, borradores, webhooks) con seguridad OAuth 2.0 y límites diarios más altos. SMTP solo admite el envío. Para aplicaciones SaaS que requieren integración completa de la bandeja de entrada, la Gmail API es la elección correcta; para scripts personales sencillos, SMTP puede ser suficiente.
04 ¿Puedo enviar correos electrónicos con archivos adjuntos usando la API de Gmail?
Sí. Crea un mensaje MIME multipart con MIMEMultipart, adjunte archivos usando MIMEBase, codifique el mensaje completo en base64url y envíelo a través del punto final de envío de correo electrónico de la API de Gmail. El tamaño máximo de archivo adjunto es de 25 MB por mensaje. Consulte el ejemplo de código de archivos adjuntos en la sección anterior.
05 ¿Cómo puedo enviar correos electrónicos en nombre de otro usuario con la API de Gmail?
Para la delegación en todo el dominio, configura una cuenta de servicio en Google Cloud Console con ámbitos de la API de Gmail, luego pasa userId='target@domain.com' a usuarios().mensajes().enviar(). Para la delegación de usuarios individuales, consulta nuestro completo guía para enviar correos electrónicos en nombre de otro usuario.
06 Los límites de la API de Gmail
Gmail gratuito: 500 mensajes por día. Google Workspace: 2.000 mensajes por día. Ambos niveles comparten un límite de 10.000 destinatarios por día y un límite de tamaño de mensaje de 25 MB. Implemente retroceso exponencial para manejar 429 tasaLímiteExcedida gestione los errores con gracia, consulte la sección de límites de velocidad arriba para ver un ejemplo de código completo.
07 ¿La API de Gmail soporta correos HTML?
Sí. Utilice MIMEMultipart('alternative') con ambos texto/simple de respaldo y un html/texto part. Codifique el mensaje MIME completo en formato base64url antes de enviarlo a través del punto final de envío de correo electrónico de la API de Gmail. Los clientes de Gmail renderizan la versión HTML; otros clientes recurren automáticamente al texto plano.
08 ¿Cómo manejo los errores de autenticación de la API de Gmail?
401 No autorizado, tu token de acceso expiró: usa el token de actualización para obtener uno nuevo a través de oauth2.googleapis.com/token. 403 Prohibido, faltante gmail.enviar alcance: volver a autorizar con los alcances correctos. 400 concesión no válida, token de actualización revocado: el usuario debe autenticar su aplicación desde cero.
¿Necesitas una forma más sencilla de integrar el correo electrónico?
Omita OAuth específico del proveedor, conecte Gmail, Outlook e IMAP con una API.
Hable con un experto

También le puede interesar

API de correo electrónico: Guía completa para desarrolladores (2026)

API de correo electrónico: Guía completa para desarrolladores (2026)

El panorama de los proveedores de API de correo electrónico Tres proveedores cubren aproximadamente el 95% del correo electrónico profesional en todo el mundo: Gmail (y Google Workspace), Microsoft Outlook / Microsoft 365, y los protocolos universales IMAP / SMTP para todo lo demás. Comprender lo que ofrece cada uno y cómo se diferencian es el primer...

leer más
es_ESES