API do Gmail Enviar Email: Exemplos de Código Python e Node.js (2026)

Início rápido

API do Gmail Enviar E-mail em 5 Linhas

1
Instale o SDK
npm install unipile-node-sdk
2
Definir variáveis de ambiente
Adicionar UNIPILE_DSN e UNIPILE_TOKEN para você .env arquivo.
3
Vincular uma conta Gmail
Fluxo do OAuth gerenciado pela Unipile - a atualização do token é automática, sem necessidade de reautenticação manual.
4
Chamar client.email.enviar()
Passar account_id, para, assuntoe corpo. Feito.
5
Verifique a resposta
A API retorna um id_rastreamento confirmando a entrega via API do Gmail.
O mesmo código para Outlook e IMAP - uma API unificada, sem necessidade de lógica específica do provedor.
enviar-email.mjs
import { UnipileClient } from 'unipile-node-sdk';const client = novo UnipileClientprocess.env.UNIPILE_DSN, process.env.UNIPILE_TOKEN);const resultado = aguardar cliente.email.enviarid_da_conta: 'acc_xxxxxxxxxxxxxxxx', para: [{ nome_exibido: 'Alice Martin', identificador: 'alice@acme.com'}], assunto: 'Olá da API do Gmail', corpo: '

Enviado via Unipile!

'
});console.log(resultado); // { tracking_id: 'msg_...' }
Email enviado - tracking_id retornado
API do Gmail Enviar Email - Unipile
API de e-mail

API do Gmail Enviar Email,
Python e Node.js
Exemplos de Código

Um guia completo para desenvolvedores sobre como enviar e-mails programaticamente com a API do Gmail: configuração OAuth 2.0, exemplos de código, limites de taxa e comparação com SMTP.

8 min de leitura
Atualizado em junho de 2025
Python, Node.js
OAuth 2.0 SMTP Limites de taxas Autenticação API REST
gmail_enviar.py
# Enviar e-mail com a API do Gmail
import base64
from email.mime.text import MIMEText
from googleapiclient.discovery import construir

def enviar_email(serviço, para, assunto, corpo):
    msg = MIMEText(corpo)
    mensagem'a'] = para
    mensagem'assunto'] = assunto
    raw = base64.urlsafe_b64encode(
        msg.como_bytes()
    ).decode()
    return serviço.usuários().mensagens().enviar(
        userId="eu,
        corpo={'cru': cru}
    .execute()
✓ Mensagem enviada, ID: 18e3f2a9c4b...
Também funciona com:
Perspectivas IMAP Google Agenda
via API Unificada Unipile
Criando uma integração de e-mail?

Leia nossa Guia Completo da API de E-mail - Fluxos OAuth, sincronização, envio e comparação de provedores.

API do Gmail Enviar E-mail - Unipile
Gmail API do Gmail

O que é a API Send Email do Gmail?

Enviar emails via API do Gmail envolve o uso de requisições HTTP para interagir com os sistemas de backend do Gmail. Em vez de compor e enviar emails manualmente através da interface do Gmail, os desenvolvedores podem automatizar o processo dentro de seus aplicativos.

A API fornece endpoints que permitem aos desenvolvedores criar e enviar mensagens de e-mail em vários formatos, incluindo texto simples, HTML e e-mails com anexos. Ela também suporta recursos mais avançados como encadeamento e gerenciamento de rótulos de e-mail, tornando-a uma solução abrangente para comunicação programática por e-mail. Para envio multi-provedor (Gmail, Outlook, IMAP), consulte o guia da API unificada de envio de e-mail. Para uma abordagem multi-provedor, explore a API de envio de e-mail.

Gmail michel@company.com
3 mensagens
Todos
Enviado
Inbox
Sarah Lee
Sarah Lee
Recebido 9:41
Assunto: Contrato assinado em anexo
Obrigado, Michel. Revisei tudo e parece bom...
Michel Opra
Michel Oprapara Oscar B.
Enviado Ontem
Relatório Q2, versão final
Olá Oscar, segue em anexo o relatório final do 2º trimestre para revisão...
Oscar Brown
Oscar Brown
Recebido Mês
Acompanhamento da nossa ligação da semana passada
Olá, apenas para verificar o cronograma de integração da API...
Por que usar a API do Gmail para Enviar E-mails - Unipile
Benefícios Principais

Por que usar a API do Gmail para enviar e-mails?

Utilizar a API do Gmail para enviar e-mails oferece várias vantagens que a tornam uma escolha poderosa para aplicações modernas.

Automação

Automatize tarefas rotineiras de e-mail, economizando tempo e reduzindo erros manuais em todo o seu fluxo de trabalho.

Economize horas toda semana

Integração

Integre o envio de e-mails diretamente ao fluxo de trabalho do seu aplicativo, aprimorando a experiência do usuário com um fluxo contínuo.

Experiência do usuário nativa no aplicativo

Personalização

Personalize o conteúdo do e-mail dinamicamente com base em dados do usuário ou estado do aplicativo para mensagens verdadeiramente personalizadas.

Modelos dinâmicos

Escalabilidade

Gerencie envio de e-mails de alto volume de forma eficiente, ideal para aplicações que exigem comunicação em larga escala.

Alto volume pronto
Configurando a API do Gmail, Guia Passo a Passo - Unipile

Configuração da API do Gmail para envio de e-mails

Documentação do Google OAuth

O Google exige que aplicativos de terceiros enviem seus aplicativos para verificação do uso de dados do usuário do Google. Siga as 10 passos abaixo para configurar o OAuth, habilitar a API do Gmail e preparar suas credenciais para produção. Veja também: protegendo sua integração de API de e-mail.

1
2
3
4
5
6
7
8
9
10
01

Acessar o Google Developers Console

Entrar em Console de desenvolvedores do Google Para iniciar a configuração do seu projeto, você precisará de uma conta Google com privilégios de administrador.

02

Criar um Novo Projeto do Google

Registre-se no Console de desenvolvedores do Google e crie um novo projeto do Google ou utilize um projeto existente. Clique em NOVO PROJETO no seletor de projetos para começar.

Criar Novo Projeto no Google Cloud Console
03

Criar credenciais de ID de cliente OAuth

Navegar para APIs e Serviços > Credenciais, então clique em CRIAR CREDENCIAIS > ID do cliente OAuth.

  • Tipo de aplicação: Aplicativo da Web
  • Nome: Seu nome interno
  • Adicionar 2 URIs de redirecionamento autorizados usando seu DSN Unipile (disponível em Painel de controle da 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}}

Uma vez criado, adicione o ID do cliente e Segredo do cliente para Unipile Dashboard > Configurações > Google OAuth.

Criar credenciais de ID de cliente OAuth
04

Habilitar a Biblioteca Gmail API

Ir APIs e Serviços > Biblioteca, buscar API do Gmail, e clique HABILITAR.

Habilitar a biblioteca da API do Gmail
05

Configurar tela de consentimento OAuth, Tipo de usuário

Escolha o seu Tipo de Usuário com base na sua fase de teste:

  • Interno: Limitado a usuários do Google Workspace em sua organização.
  • Externo e Em Teste: Requer a adição de Usuários de Teste. Tokens expiram em 7 dias.

Para detalhes sobre Tipos de Usuário, consulte a Documentação do Google.

Selecionar Tipo de Usuário OAuth
06

Preencher Informações do Aplicativo

Na tela de consentimento do OAuth, forneça o seguinte:

  • Nome do Aplicativo: O nome de exibição do seu aplicativo.
  • Email de Suporte ao Usuário: Um e-mail de contato ou lista de distribuição para perguntas de usuários.
  • Logo do App: Faça o upload do logotipo do seu aplicativo para identificação visual.
Informações do Aplicativo OAuth
07

Definir Informações do Domínio do Aplicativo

  • URL da Página Inicial do Aplicativo: Uma verdadeira página inicial, não apenas uma página de login.
  • Link da Política de Privacidade: Certifique-se de que atenda Requisitos específicos do Google, particularmente a seção de Uso Limitado.
  • Link dos Termos de Serviço: URL dos termos de serviço públicos.
Domínio do Aplicativo OAuth
08

Adicionar Domínios Autorizados

  • Adicione o domínio do seu aplicativo de produção (não o domínio de desenvolvimento ou staging).
  • Adicionar unipile.com como um segundo domínio autorizado.
Domínios Autorizados
09

Inserir Informações de Contato do Desenvolvedor

Forneça um endereço de e-mail que o Google possa usar para notificações de verificação. Use uma lista de distribuição para que todos os membros relevantes da equipe recebam atualizações. Monitore-a regularmente, pois os e-mails do Google podem acabar nas pastas de spam.

Informações de Contato do Desenvolvedor
10

Adicionar Escopos Necessários

Clicar ADICIONAR OU REMOVER ESCOPOS e adicione o seguinte (atualize a página se eles não aparecerem):

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

Observação: gmail.modificar só é necessário se você precisar mover ou excluir e-mails. Se você não o usar, entre em contato com o suporte da Unipile para removê-lo da sua conta manualmente.

Adicionar Escopos da API do Gmail
Opcional, Para aplicativos em produção
11
Gere seu Vídeo de Demonstração
Necessário apenas uma vez após sua integração estar totalmente ativa em produção

Produza e hospede um vídeo de demonstração que cumpra as especificações do Google. Envie-o como um Vídeo não listado no YouTube, apenas um link de vídeo é permitido.

Antes de criar o vídeo
  • Seu aplicativo e fluxo OAuth são apresentados em inglês, conforme indicado na documentação do Google.
  • A demonstração é realizada em um domínio de nível de produção.
  • Nas configurações do Projeto do Google, confirme Status de publicação Em Produção Tipo de Usuário é "Externo".
Segmento de autenticação
  • Exibir a página inicial do seu aplicativo com a URL completa.
  • Ilustre como um cliente do Google pode conectar sua conta através do botão oficial de login do Google.
  • Durante o fluxo OAuth, destaque o URL e revele o ID DO CLIENTE.
Segmento de funcionalidade
  • Exiba sequencialmente cada escopo que está sendo solicitado, adaptado ao seu caso de uso específico.
  • Demonstre a funcionalidade bidirecional mostrando a sincronização entre seu aplicativo e o Gmail (envio, recebimento e atualizações na lista de e-mails enviados).
Etapas de envio
  • Adicione o vídeo final ao seu Projeto Google como um link de vídeo não listado do YouTube.
  • Envie o URL do YouTube para o seu Gerente de Sucesso do Cliente para revisão.
  • Após revisão, prossiga com o envio da verificação do aplicativo.

Linha do tempo: a verificação pode levar de 2 a 8 semanas dependendo da fila do Google e do número de rodadas de remediação.

12
Lista de permissões e revisão de segurança para escopos restritos
Aplica-se somente se sua aplicação usar escopos restritos

Se o seu aplicativo usa escopos restritos, etapas adicionais são necessárias.

Avaliação de segurança do Google

Aplicativos que solicitam acesso a dados restritos do usuário do Google devem passar por uma avaliação de segurança através do CASA (Avaliação de Segurança de Aplicações em Nuvem) programa. O Google classifica seu aplicativo como Nível 2 ou Nível 3.

Nível 2, Auto escaneado
Verificado em Laboratório, mais comum. Opção gratuita ou paga via avaliador terceirizado.
Tier 3, Laboratório Escaneado
Verificado em Laboratório, pago apenas. Deve ser concluído por um avaliador terceirizado.
Reavaliação Anual

Aplicativos acessando escopos restritos devem completar uma avaliação de segurança a cada 12 meses para manter o acesso. Se você introduzir um novo escopo restrito que não foi aprovado anteriormente, seu aplicativo poderá exigir reavaliação.

A equipe de avaliação do Google iniciará o contato por e-mail. Mantenha seu Proprietário do Projeto e Editor de Projetos informações atualizadas no Cloud Console para que os membros corretos da equipe recebam essas notificações.

Opção de lista branca

Como alternativa à revisão de segurança padrão, você pode ter seu aplicativo adicionado a uma lista de permissões. Isso contorna os procedimentos usuais, mas se aplica apenas se seu aplicativo atender a critérios muito específicos:

  • A maioria dos clientes usa o Google Workspace: A maioria dos clientes deve ter e-mails no formato @empresa.com.
  • Lista branca iniciada pelo administrador: os administradores dos seus usuários finais permitem o acesso através do Console de Administração deles usando o seu ID de Cliente do Google.
  • Uso Pessoal Limitado do Gmail: menos de 100 contas pessoais do Gmail (@gmail.com) devem se autenticar.
  • Projetos não verificados têm um limite de 100 usuários vitalícios. Contas de espaço de trabalho não contam para esse limite, mas contas pessoais do Gmail sempre contam.
  • Os usuários de avaliação gratuita devem usar seu endereço de e-mail do Workspace e colocar o aplicativo na lista de permissões.

A lista de permissões (whitelisting) é uma solução alternativa e pode não ser adequada para todos os cenários de uso. Avalie os critérios cuidadosamente antes de escolher este caminho.

Casos de Uso da API do Gmail, CRM ATS Outreach iPaaS - Unipile
Casos de uso

API do Gmail para CRM, ATS, Outreach e iPaaS

Automatize o envio de e-mails, sincronize conversas e centralize a comunicação com o cliente em todos os tipos de plataformas SaaS B2B.

Sistemas de CRM

Registre e envie e-mails sem sair do seu CRM

Automatize a comunicação por e-mail, rastreie interações e aprimore o engajamento do cliente. Registre e-mails de clientes, envie mensagens personalizadas e centralize todas as conversas em seu pipeline.

Sincronização bidirecional entre o Gmail e os registros de contato
Registro automático de e-mails enviados e recebidos por negócio
Modelos e campos de mesclagem para contato personalizado
API de e-mail para CRM
Pipeline de CRM
Gmail sincronizado
Oportunidades
NexaTech
$32 mil
2
Orbix
$18.500
Synthex
$24.200
Quark
$9.800
Gmail Gmail
LinkedIn
Tarefas
Eu → Michel Opra
Olá Michel, Segue o contrato em anexo. Atenciosamente.
Michel Opra → Me
Olá Sarah, Obrigado. Por favor, encontre o contrato assinado. Tenha um ótimo dia.
ATS & Recrutamento

Envie e-mails de candidatos a partir de uma caixa de entrada unificada

Simplifique a comunicação com candidatos, agende entrevistas e envie cartas de oferta diretamente da sua plataforma de recrutamento. Cada resposta é anexada automaticamente ao perfil correto do candidato.

Envio em massa para candidatos com rastreamento de origem
Agendamento de entrevistas emails com integração de calendário
Conversas encadeadas por candidato, por cargo
API de e-mail para ATS
Pipeline de Candidatos
3 enviado hoje
Origem
Alice K.
Ben M.
Contatado
Clara V.
Diego S.
Entrevista
Emma R.
Contratado
Félix O.
Gmail Convite para entrevista, cargo de Engenheiro Sênior ENVIADO
Olá {{candidate.firstName}}, ..., adoraríamos te convidar para uma chamada de 45 minutos na próxima semana...
Ferramentas de Prospecção e Vendas

Potencialize sequências de e-mail com várias etapas em escala

Crie sequências multicanais com o Gmail como motor principal de e-mails. Envie mensagens personalizadas, acompanhe aberturas e respostas, e acione follow-ups com base no comportamento do prospect.

Cadências múltiplas com Gmail, LinkedIn e WhatsApp
Rastreamento de Abertura e Resposta para medir o que funciona
Pausa automática ao responder para manter as conversas humanas
API de e-mail para divulgação
Sequência, Fundadores SaaS Q2
Ativo
1
Dia 1, e-mail de introdução
Enviado para 124 prospects, 42 aberturas
Gmail
2
Dia 3, Conexão no LinkedIn
82 solicitações enviadas, 31 aceitas
LinkedIn
3
Dia 5, E-mail de acompanhamento
Enviando agora, 18 em fila
Gmail
124
Enviado
34%
Taxa de abertura
12
Respostas
iPaaS e Fluxo de Trabalho

Acione ações do Gmail em qualquer fluxo de trabalho

Incorpore funcionalidades de envio do Gmail em construtores de automação. Permita que usuários finais conectem suas contas do Gmail e disparam e-mails como parte de fluxos de trabalho de várias etapas, sem ter que construir o fluxo OAuth do zero.

OAuth para Usuário Final gerenciado pela Unipile, sem trabalho de desenvolvimento
Gatilhos de webhook em novos eventos de e-mail
Escalar para milhares de contas do Gmail vinculadas
API de e-mail para iPaaS
Construtor de Fluxo de Trabalho
Em execução
Gmail
Gmail
Unipile
LinkedIn
LinkedIn
WhatsApp
WhatsApp
Disparador, Novo e-mail recebido
Roteamento automático para ação de acompanhamento no LinkedIn
Ao vivo
Principais recursos da API do Gmail para envio de e-mail - Unipile
Endpoints Principais

Principais recursos da API do Gmail para enviar e-mail

Recupere e-mails, componha e envie novas mensagens, gerencie rótulos e receba notificações de webhook em tempo real. Quatro capacidades essenciais que cobrem todos os fluxos de trabalho de e-mail em sua aplicação.

OBTER

Listar todos os e-mails

unipile-api
enrolar --request OBTER \ --url https://api.unipile \ .com/api/v1/emails \ --header 'aceitar: json'

Recupere e exiba e-mails da conta de e-mail de um usuário. Filtre por pasta, data, remetente ou status de leitura para pesquisa e gerenciamento poderosos.

Listar Funcionalidade de E-mail
POST

Enviar Novo E-mail

unipile-api
enrolar --request POST \ --url https://api.unipile \ .com/api/v1/emails \ --header 'content-type: form'

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

Recurso Enviar e-mail
OBTER

Listar e Obter Etiquetas

unipile-api
enrolar --request OBTER \ --url https://api.unipile \ .com/api/v1/pastas \ --header 'aceitar: json'

Gerencie etiquetas e pastas do Gmail listando ou recuperando detalhes de etiquetas individuais. Organize e categorize e-mails para um roteamento de fluxo de trabalho mais inteligente.

Listar e obter rótulos
POST

Rastreamento de Webhook

unipile-api
enrolar --request POST \ --url https://api.unipile \ .com/api/v1/webhooks \ --header 'aceitar: json'

Configure webhooks para receber atualizações em tempo real sobre atividades de e-mail. Acione ações instantâneas em novas mensagens, aberturas, respostas ou devoluções.

Notificação de Webhook
Visão Geral dos Endpoints da API do Gmail - Unipile
Gmail Endpoints da API do Gmail

Tudo que você pode fazer com a API do Gmail

Uma visão geral completa dos endpoints do Gmail disponíveis através do Unipile, desde a conexão de contas até o rastreamento de webhooks.

Conexão de conta
2 pontos de extremidade
Autenticação Hospedada, autenticação de e-mail com marca branca
POST
Use sua própria tela de consentimento do OAuth do aplicativo
POST
Enviar e Receber
5 pontos de extremidade
Enviar um e-mail, com anexos, CC, CCO
POST
Responder e-mail, mantendo o contexto do tópico
POST
Listar todos os e-mails com filtros e paginação
OBTER
Obter um e-mail específico por ID
OBTER
Baixar anexos de um e-mail
OBTER
Organizar e Rotular
5 pontos de extremidade
Listar pastas e marcadores
OBTER
Obter detalhes da pasta ou etiqueta
OBTER
Mover um e-mail para outra pasta
PATCH
Atualizar e-mail, marcar como lido, não lido, com estrela
PATCH
Excluir um e-mail permanentemente ou para a lixeira
DELETE
Webhooks e Rastreamento
3 eventos
Novo e-mail recebido
POST
Evento de envio de e-mail, rastreamento de respostas
POST
Eventos de rastreamento de abertura e clique
POST

Como enviar um e-mail com a API do Gmail

Exemplos completos de Python e Node.js para envio de texto puro, HTML e e-mails com anexos via API do Gmail. Copie e cole prontos com autenticação OAuth 2.0 incluída.

1 Enviar um E-mail Simples (Python)

Use o oficial google-api-python-client e google-auth bibliotecas. A função constrói uma mensagem MIME, a codifica em base64url e a envia para o endpoint de envio da API do Gmail.

Python Cópia
import base64
from email.mime.text import MIMEText
from google.oauth2.credentials import Credenciais
from googleapiclient.discovery import construir

def enviar_email(para, assunto, corpo, credenciais_dict):
    creds = Credenciais(**credentials_dict)
    servico = construir('gmail', 'v1', credenciais=creds)

    mensagem = MIMEText(corpo)
    mensagem['a'] = para
    message['assunto'] = assunto

    raw = base64.urlsafe_b64encode(mensagem.como_bytes()).decodificar()

    resultado = servico.clientes().messages().enviar(
        idUsuario="eu,
        corpo={'cru'}: cru}
    ).executar()

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

# Uso
enviar_emailpara='recipient@example.com',
    assunto='Olá da API do Gmail',
    corpo='Este e-mail foi enviado via API do Gmail para enviar e-mail.',
    credentials_dict={
        'token': 'SEU_TOKEN_DE_ACESSO',
        'token de atualização': 'SEU_TOKEN_DE_RENOVAÇÃO',
        'client_id': 'SEU_CLIENT_ID',
        'client_secret': 'SEGREDO_DO_SEU_CLIENTE',
        'uri_do_token': 'https://oauth2.googleapis.com/token'
    }
)

2 Enviar um Email de Texto Simples (Node.js)

Use o googleapis pacote npm. A mensagem é construída como uma string RFC 2822 bruta, codificada em base64url e enviada via API do Gmail.

Node.js Cópia
const { google } = require('googleapis');

async function enviarEmail(autenticacao, para, assunto, corpo) {
  const gmail = google.gmail({ versão: 'v1', auth });

  const mensagem = [
    Para: ${para},
    Assunto: ${subject},
    '',
    corpo
  ].participar('\n');

  const mensagemCodificada = Buffer.from(mensagem)
    .toString('base64')
    .substituir(/\+/g, '-')
    .substituir(/\//g, '_')
    .substituir(/=+$/, '');

  const resultado = await gmail.users.messages.enviaruserId: "eu,
    requestBody: { raw: encodedMessage }
  });

  console.log(Mensagem enviada. ID: ${result.data.id});
  return result.data;
}

// Configuração do OAuth2
const oauth2Client = new google.auth.OAuth2(
  'SEU_CLIENT_ID',
  'SEGREDO_DO_SEU_CLIENTE',
  'SEU_REDIRECT_URI'
);

oauth2Client.definirCredenciaistoken_de_acesso: 'SEU_TOKEN_DE_ACESSO',
  token_de_atualização: 'SEU_TOKEN_DE_RENOVAÇÃO'
});

enviarEmail(oauth2Client, 'recipient@example.com', 'Olá', 'Enviado via API do Gmail para enviar e-mail!');

3 Enviar um E-mail HTML (Python)

Uso MIMEMultipart('alternative') com ambos um texto/plano reserva e um texto/html part. Clientes do Gmail renderizarão a versão HTML; outros clientes usarão o texto simples.

Python Cópia
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import base64

def enviar_email_html(serviço, para, assunto, corpo_html):
    mensagem = MIMEMultipart('alternativa')
    mensagem ['a'] = para
    message['assunto'] = assunto

    # Retorno de texto simples
    texto_parte = MIMEText('Por favor, visualize este e-mail em um cliente compatível com HTML.', 'simples')
    # Versão HTML
    parte_html = MIMEText(corpo_html, 'html')

    mensagem.anexarmensagem.anexarraw = base64.urlsafe_b64encode(mensagem.como_bytes()).decodificar()

    return Serviço.clientes().messages().enviar(
        idUsuario="eu,
        corpo={'cru'}: cru}
    ).executar()

# Uso
conteudo_html = """

  
    

Olá!

Este email foi enviado com API do Gmail enviar e-mail.

"""
enviar_email_html(serviço, 'to@example.com', 'Email HTML via API do Gmail', conteúdo_html)

4 Enviar um Email com Anexos (Python)

Anexar qualquer tipo de arquivo lendo os bytes do arquivo, adivinhando o tipo MIME e anexando-o a um MIMEMultipart Mensagem. O tamanho máximo do anexo é de 25 MB por mensagem.

Python Cópia
import base64
import tipos MIME
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from e-mail import codificadores

def enviar_email_com_anexo(serviço, para, assunto, corpo, caminho_arquivo):
    mensagem = MIMEMultipart()
    mensagem['a'] = para
    message['assunto'] = assunto
    mensagem.anexar(MIMETextcorpo, 'simples'))

    # Detectar tipo MIME e anexar arquivo
    tipo_conteúdo, codificação = mimetypes.adivinhar_tipo(caminho_do_arquivo)
    tipo_principal, sub_tipo = tipo_conteudo.dividir('/', 1)

    com abra(caminho_do_arquivo, 'rb') como anexo = MIMEBase(tipo_principal, tipo_secundario)
        anexo.definir_carga(f.lercodificadores.codificar_base64anexo.adicionar_cabeçalho(
            'Content-Disposition',
            f'attachment; filename="{file_path.split("/")[-1]}"'
        )
        mensagem.anexarraw = base64.urlsafe_b64encode(mensagem.como_bytes()).decodificar()

    return Serviço.clientes().messages().enviar(
        idUsuario="eu,
        corpo={'cru'}: cru}
    ).executar()
Pule a complexidade do OAuth
Uma API para Gmail, Outlook e IMAP

A API de E-mail da Unipile permite enviar e-mails de contas Gmail, Outlook e IMAP com um único endpoint unificado - sem configuração de OAuth específica do provedor. Vincule contas em minutos, não em dias.

Comece a construir gratuitamente
Gmail Perspectivas IMAP Gmail, Outlook, IMAP
Comparação API Gmail vs SMTP - Unipile
Comparação

API do Gmail vs. SMTP, Qual Você Deve Usar?

Tanto a API do Gmail quanto o SMTP do Gmail permitem enviar e-mails programaticamente, mas eles atendem a casos de uso muito diferentes. Aqui está uma comparação direta para ajudá-lo a escolher.

Recurso API do Gmail Gmail SMTP
Autenticação OAuth 2.0 Senha do aplicativo ou OAuth
Limite de envio diário 2,000 Espaço de trabalho, 500 gratuito 500/dia Gmail grátis
Anexos Até 25 MB Até 25 MB
Emails em HTML Sim Sim
Rastreamento de thread Etiquetas e threads Não
Recibos de leitura Sim Não
Acesso programático Completo, pesquisa, rótulos, rascunhos, webhooks Enviar apenas
Complexidade da configuração Alta OAuth + Console na Nuvem Baixa Senha do aplicativo somente
Melhor para Aplicativos SaaS, CRM, integração ATS Scripts simples, uso pessoal
Recursos Comparados
Autenticação
API do Gmail OAuth 2.0
Gmail SMTP Senha do aplicativo ou OAuth
Limite de envio diário
API do Gmail 2.000 Espaço de Trabalho, 500 grátis
Gmail SMTP 500/dia Gmail grátis
Anexos
API do Gmail Até 25 MB
Gmail SMTP Até 25 MB
Emails em HTML
API do Gmail Sim
Gmail SMTP Sim
Rastreamento de thread
API do Gmail Etiquetas e threads
Gmail SMTP Não
Recibos de leitura
API do Gmail Sim
Gmail SMTP Não
Acesso programático
API do Gmail Completo, pesquisa, rótulos, rascunhos, webhooks
Gmail SMTP Enviar apenas
Complexidade da configuração
API do Gmail Alta OAuth + Console na Nuvem
Gmail SMTP Baixa Senha do aplicativo somente
Melhor para
API do Gmail Aplicativos SaaS, CRM, integração ATS
Gmail SMTP Scripts simples, uso pessoal
Para aplicações SaaS e ferramentas de desenvolvedor que precisam de integração completa de caixa de correio, não apenas de envio, A API do Gmail para enviar e-mails é a escolha clara. Se você precisar dar suporte a vários provedores de e-mail (Gmail, Outlook, IMAP) a partir de uma única base de código, considere API de e-mail unificada da Unipile, ele abstrai a complexidade do OAuth para todos os três provedores por trás de um único endpoint.
Cotas

Limites de Taxa e Cotas da API do Gmail

Entender os limites de taxa da API do Gmail é essencial antes de ir para produção. Exceder essas cotas retorna um 429 limiteDeTaxaExcedido erro - sempre implemente retrocesso exponencial.

2,000
Mensagens / dia
Contas do Google Workspace
500
Mensagens / dia
Contas Gmail gratuitas (@gmail.com)
10,000
Destinatários / dia
Em todas as mensagens enviadas
25 MB
Tamanho máximo da mensagem
Incluindo todos os anexos
250
Unidades de cota / segundo
Por projeto, por usuário

Tratando Erros de Limite de Taxa com Exponential Backoff

Quando a API do Gmail retorna um 429 aguarde antes de tentar novamente. Use backoff exponencial para evitar sobrecarregar a API e acionar bloqueios mais longos.

Python Cópia
import tempo
from googleapiclient.errors import HttpError

def enviar_com_nova_tentativa(serviço, id_usuario, mensagem, max_tentativas=3):
    para tentativa em intervalo(tentativas_max)
        tentar:
            return Serviço.clientes().messages().enviar(
                userId=user_id,
                body=mensagem
            ).executar()
        exceto HttpError como erro:
            se erro.resp.status == 429:  # Limite de taxa excedido
                tempo_espera = (2 tentativa) * 1  # Retrocesso exponencial: 1s, 2s, 4s
                print(f"Taxa limitada. Aguardando {wait_time}s antes de tentar novamente {attempt + 1}/{max_retries}...")
                tempo.dormir(tempo_de_espera)
            senão:
                levantar  # Re-elevar erros não de limite de taxa imediatamente
    levantar Exceção(f"Falha ao enviar e-mail pela API do Gmail após {max_retries} novas tentativas")
Solução de problemas

Erros Comuns da API do Gmail e Como Corrigi-los

A maioria dos erros ao enviar e-mails pela API do Gmail se enquadra em três categorias: falhas de autenticação (401), problemas de permissão (403) e erros de solicitação mal formatada (400). Aqui está uma tabela de referência com causas e correções.

Código HTTP Mensagem de erro Causa Solução
401 Não autorizado Token de acesso expirado
usar seu token_de_atualização para obter um novo token de acesso via oauth2.googleapis.com/token
403 Proibido Escopos OAuth insuficientes
Adicionar https://www.googleapis.com/auth/gmail.send escopo e autorizar novamente o usuário
403 limiteDeTaxaExcedido Cota diária excedida
Implemente backoff exponencial - espere 1s, 2s, 4s entre as tentativas. Veja a seção de limites de taxa acima.
400 concessão_inválida Token de atualização revogado ou expirado
O usuário deve se autenticar e autorizar seu aplicativo novamente. Inicie um novo fluxo de consentimento OAuth.
400 Requisição Inválida Mensagem MIME malformada
Verificar se a mensagem está codificada com base64.urlsafe_b64encode() - base64 não padrão
403 Permissões insuficientes Conta de serviço sem delegação
Ative a delegação em todo o domínio no Admin do Google Workspace e conceda os escopos da API do Gmail à conta de serviço

Procurando uma solução unificada? A Guia da API de E-mail da Unipile cobre Gmail, Outlook, IMAP e mais de uma única integração - um endpoint, um fluxo de autenticação, três provedores.

Leia o Guia da API de E-mail
Além de Gmail, Microsoft e APIs de E-mail IMAP - Unipile
Além do Gmail

Conecte o Outlook ao IMAP com a mesma API

Unipile vai além do Gmail. Conecte Microsoft 365, Outlook.com e qualquer caixa de correio IMAP através de uma única API unificada, com OAuth gerenciado para você na Microsoft e autenticação flexível baseada em credenciais para IMAP.

Microsoft Outlook
OAuth 2.0

API do Microsoft Graph

Verificado
Permissões de API Concedido
Mail.Read
Mail.Send
acesso_offline

Vincule contas da Microsoft com Unipile usando OAuth. Registre seu aplicativo em Azure Active Directory, configure o Unipile com o ID do seu aplicativo AAD e comece a enviar e-mails através do Outlook.com, Microsoft 365 e Exchange Online.

Outlook.com, Microsoft 365 e Exchange Online suportado
Autenticação hospedada assim seus usuários conectam contas sem sair do seu aplicativo
Suporte total na configuração do AAD da nossa equipe durante o registro
API da Microsoft
IMAP
Credenciais de Autenticação

API IMAP

imap.example.com, 993
SSL
Configuração de conexão
anfitrião imap.provider.com
português 993
usuário: michel@company.com
Conta vinculada, sincronização ativa

Para qualquer caixa de correio compatível com IMAP, configure as definições do servidor e escolha o método de autenticação apropriado dentro do Unipile. Insira o host, a porta e as credenciais para estabelecer uma conexão segura., nenhum fluxo OAuth necessário.

Qualquer provedor IMAP suportado, iCloud, Yahoo, Proton Bridge, servidores personalizados
Senhas de aplicativos e ponte OAuth suportado onde disponível
Armazenamento seguro de credenciais com criptografia completa em repouso
API IMAP
Uma API, todos os provedores de e-mail
Dê suporte a Gmail, Outlook e IMAP lado a lado sem manter três integrações separadas.
Descubra a API de Email unificada
FAQ - Envio de Email pela API do Gmail - Unipile
PERGUNTAS FREQUENTES

API do Gmail Enviar E-mail, Perguntas Frequentes

Respostas para as perguntas mais comuns sobre o envio programático de e-mails com a API do Gmail.

01 Como eu envio um e-mail usando a API do Gmail?
Habilite a API do Gmail no Google Cloud Console, crie credenciais OAuth 2.0 com gmail.enviar escopo, construir uma mensagem MIME, codificá-la no formato base64url, em seguida, POST para o users.messages.send endpoint. Veja o Exemplo de Python e exemplos de código Node.js acima para uma implementação completa, pronta para copiar e colar.
02 A API do Gmail é gratuita para usar?
Sim, a API do Gmail não tem custo direto. Contas gratuitas do Gmail podem enviar até 500 e-mails por dia; contas do Google Workspace recebem 2.000 por dia. Quotas adicionais podem ser aplicadas com base na configuração do seu projeto Google Cloud e no número de chamadas de API por segundo.
03 Qual a diferença entre a API do Gmail e o SMTP?
A API do Gmail para envio de e-mails oferece acesso programático completo à caixa de correio (conversas, marcadores, rascunhos, webhooks) com segurança OAuth 2.0 e limites diários mais altos. O SMTP suporta apenas o envio. Para aplicativos SaaS que exigem integração completa da caixa de entrada, a API do Gmail é a escolha certa; para scripts pessoais simples, o SMTP pode ser suficiente.
04 Posso enviar emails com anexos usando a API do Gmail?
Sim. Crie uma mensagem MIME multipart com MIMEMultipart, anexar arquivos usando MIMEBase, codifique a mensagem completa em base64url e envie através do endpoint de envio de e-mail da API do Gmail. O tamanho máximo de anexo é de 25 MB por mensagem. Veja o exemplo de código de anexos na seção acima.
05 Como enviar e-mail em nome de outro usuário com a API do Gmail?
Para delegação em todo o domínio, configure uma conta de serviço no Google Cloud Console com escopos da API do Gmail e, em seguida, passe userId='target@domain.com' para usuários().mensagens().enviar(). Para delegação de usuário individual, consulte nosso completo enviar e-mail em nome do guia do usuário.
06 Quais são os limites de taxa da API do Gmail?
Gmail Grátis: 500 mensagens por dia. Google Workspace: 2.000 mensagens por dia. Ambos os níveis compartilham um limite de 10.000 destinatários por dia e um limite de tamanho de 25 MB por mensagem. Implemente backoff exponencial para lidar com 429 limiteDeTaxaExcedido erros de forma graciosa, veja a seção de limites de taxa acima para um exemplo de código completo.
07 A API do Gmail suporta e-mails HTML?
Sim. Use MIMEMultipart('alternative') com ambos um texto/plano reserva e um texto/html parte. Codifique a mensagem MIME completa no formato base64url antes de enviá-la pelo endpoint de envio de e-mail da API do Gmail. Clientes do Gmail renderizam a versão HTML; outros clientes usam o texto simples automaticamente como fallback.
08 Como lidar com erros de autenticação da API do Gmail?
401 Não autorizado, seu token de acesso expirou: use o token_de_atualização para obter um novo via oauth2.googleapis.com/token. 403 Proibido, faltando gmail.enviar escopo: reautorizar com os escopos corretos. 400 concessão inválida, token de atualização revogado: o usuário deve autenticar seu aplicativo do zero novamente.
Precisa de um caminho mais simples para a integração de e-mail?
Pule o OAuth específico do provedor, conecte Gmail, Outlook e IMAP com uma API.
Fale com um especialista

Você também pode gostar

O guia completo do desenvolvedor para integração da API do calendário

O guia completo do desenvolvedor para integração da API do calendário

O software moderno é executado com base em conexões entre pessoas, sistemas e o próprio tempo. No centro dessa conectividade está a API do Calendário, um componente vital que permite que os aplicativos leiam, criem e sincronizem eventos de calendário sem problemas. Se você estiver criando um CRM, uma plataforma de recrutamento ou um...

ler mais
API de E-mail: Guia Completo para Desenvolvedores (2026)

API de E-mail: Guia Completo para Desenvolvedores (2026)

O Cenário de Provedores de API de E-mail Três provedores cobrem aproximadamente 95% do e-mail profissional em todo o mundo: Gmail (e Google Workspace), Microsoft Outlook / Microsoft 365 e os protocolos universais IMAP / SMTP para todo o resto. Entender o que cada um oferece e como eles diferem é o primeiro...

ler mais
pt_BRBR