Guide

Configurações SMTP do Gmail: portas e TLS

Referência completa de SMTP do Gmail para desenvolvedores: configurações de smtp.gmail.com, portas 587 e 465, criação de senha de app, requisitos de OAuth 2.0, limites de envio, códigos de erro comuns e uma alternativa via CLI sem nenhuma configuração.

Written by Qasim Muhammad Staff SRE

VerifiedCLI 3.1.1 · Gmail · last tested May 21, 2026

Referências de comandos usadas neste guia: nylas email send para enviar sem SMTP, nylas auth login para autenticação OAuth, nylas auth config para configuração headless com chave de API e nylas email search para localizar mensagens.

Quais são as configurações do servidor SMTP do Gmail?

O servidor de e-mail de saída do Gmail é smtp.gmail.com. Ele aceita conexões na porta 587 com criptografia STARTTLS e na porta 465 com SSL/TLS implícito. As duas portas exigem autenticação com senha de app ou token de acesso OAuth 2.0. Conexões em texto puro na porta 25 não estão disponíveis para contas Gmail padrão. Essas configurações não mudam desde que o Google as padronizou, mas os métodos de autenticação ficaram bem mais restritos desde 2022.

ConfiguraçãoValor
Servidor SMTPsmtp.gmail.com
Porta (STARTTLS)587
Porta (SSL/TLS)465
CriptografiaTLS 1.2 ou superior obrigatório
AutenticaçãoSenha de app ou OAuth 2.0
UsuárioSeu endereço Gmail completo (you@gmail.com)
Limite diário (pessoal)500 mensagens
Limite diário (Workspace)2.000 mensagens

O Google também opera um relay SMTP em smtp-relay.gmail.com para contas Workspace que precisam de mais volume. O relay suporta até 10.000 destinatários por dia por usuário e permite autenticação por IP em vez de credenciais de usuário. Segundo a documentação do Google Workspace, o relay é destinado a impressoras, scanners e apps internos que enviam de um intervalo de IP conhecido.

A configuração mais comum usa a porta 587 com STARTTLS. Veja como ela fica no msmtp, um cliente SMTP leve que muitos desenvolvedores usam como substituto do sendmail. O arquivo de configuração é o ~/.msmtprc e leva cerca de 2 minutos para escrever.

~/.msmtprc
# ~/.msmtprc — Gmail SMTP via msmtp
account        gmail
host           smtp.gmail.com
port           587
tls            on
tls_starttls   on
auth           on
user           you@gmail.com
password       abcd-efgh-ijkl-mnop
from           you@gmail.com
logfile        ~/.msmtp.log

account default : gmail

Como criar uma senha de app do Gmail para SMTP?

Uma senha de app do Gmail é um código de 16 caracteres que substitui a senha da conta nas conexões SMTP. O Google a gera para você depois que a verificação em duas etapas é ativada. Senhas de app são hoje o único método de autenticação SMTP baseado em senha para contas Gmail pessoais. O Google começou a desativar o acesso de "Less Secure Apps" em 30 de setembro de 2024 e, após pausar o rollout em outubro daquele ano, concluiu o desligamento em 1º de maio de 2025 — eliminando a antiga opção de usar a senha normal do Gmail em conexões SMTP.

Criar uma senha de app leva cerca de 3 minutos. Antes, você precisa ativar a verificação em duas etapas, que o Google exige para todas as contas novas desde 2021. Estes são os passos:

  1. Acesse myaccount.google.com/security e confirme que a verificação em duas etapas está ativa.
  2. Abra myaccount.google.com/apppasswords.
  3. Digite um nome para o app (por exemplo, "Script SMTP") e clique em Criar.
  4. Copie a senha de 16 caracteres. Ela aparece uma única vez — não dá para recuperá-la depois.
  5. Use essa senha como a senha SMTP no seu cliente. O usuário é o seu endereço de e-mail completo.

Segundo a documentação de senhas de app do Google, as senhas de app "aren't recommended and are unnecessary in most cases". O Google prefere o login com OAuth 2.0. Senhas de app também são revogadas automaticamente sempre que você troca a senha da conta Google, então qualquer integração SMTP que use uma delas quebra até você gerar um novo código.

Você pode testar a senha de app com o swaks, a ferramenta de teste do protocolo SMTP. Ela envia uma única mensagem pelo servidor SMTP do Gmail e mostra cada etapa do handshake SMTP, o que facilita identificar falhas de autenticação. O teste leva cerca de 5 segundos.

Terminal
# Test Gmail SMTP auth with swaks
swaks --to recipient@example.com \
  --from you@gmail.com \
  --server smtp.gmail.com \
  --port 587 \
  --tls \
  --auth LOGIN \
  --auth-user you@gmail.com \
  --auth-password "abcd-efgh-ijkl-mnop"

# Expected output (successful):
# -> AUTH LOGIN
# <- 235 2.7.0 Accepted
# -> MAIL FROM:<you@gmail.com>
# <- 250 2.1.0 OK

Quais são os limites de envio do SMTP do Gmail?

Contas Gmail pessoais podem enviar 500 e-mails por janela móvel de 24 horas. Contas Google Workspace têm direito a 2.000 mensagens por dia. Ao exceder o limite, o Gmail retorna um erro temporário e suspende o envio por até 24 horas. O recebimento de e-mail continua funcionando durante a suspensão. Contas Workspace em período de teste ficam limitadas a 500 mensagens por dia até que os pagamentos acumulados atinjam US$ 100.

LimiteGmail pessoalGoogle Workspace
Mensagens por dia5002.000
Destinatários por mensagem5002.000 (500 externos)
Destinatários por dia50010.000
Destinatários externos únicos/dia5003.000
Mala direta por diaN/A1.500
Destinatários SMTP por mensagem100100
Tamanho máximo de anexo25 MB25 MB

O limite de 100 destinatários por mensagem em conexões SMTP é menor que os 500 permitidos pela interface web do Gmail. Segundo a documentação de limites de envio do Google Workspace, usuários de SMTP, POP e IMAP ficam limitados a 100 destinatários por mensagem, independentemente do tipo de conta. Se o seu script envia para mais de 100 endereços, divida os destinatários em lotes.

Para remetentes em massa que enviam mais de 5.000 mensagens por dia a destinatários do Gmail, o Google exige autenticação SPF, DKIM e DMARC no domínio de envio, além de um header de cancelamento de inscrição em um clique. Os requisitos entraram em vigor em fevereiro de 2024. Remetentes que excedem a cota recebem o código de erro SMTP 4.7.28 — uma rejeição temporária que desaparece quando a janela de 24 horas é reiniciada.

Por que a autenticação SMTP do Gmail falha?

A autenticação SMTP do Gmail falha por 4 motivos comuns: senha de app ausente, credenciais erradas, verificação em duas etapas desativada ou conexões simultâneas demais. O Google retorna códigos de erro SMTP específicos para cada caso. A mensagem de erro diz exatamente o que deu errado, se você souber onde olhar. Estes são os códigos que você encontrará com mais frequência.

Código de erroMensagemCausaCorreção
534-5.7.9"Application-specific password required"A conta tem verificação em duas etapas, mas nenhuma senha de appGere uma senha de app em myaccount.google.com/apppasswords
535-5.7.8"Username and Password not accepted"Senha errada, senha de app expirada ou a senha da conta foi alteradaGere uma nova senha de app
421-4.7.0"Too many concurrent SMTP connections"Mais de 10 sessões SMTP simultâneas na mesma contaReduza o pool de conexões ou adicione backoff exponencial
550-5.4.5"Daily sending quota exceeded"Atingiu o limite de 500/dia (pessoal) ou 2.000/dia (Workspace)Aguarde até 24 horas até a janela móvel reiniciar
530-5.7.0"Must issue a STARTTLS command first"Conexão na porta 587 sem STARTTLSAtive STARTTLS no cliente ou mude para a porta 465 com SSL implícito

O erro mais comum em 2026 é o 534-5.7.9. Desenvolvedores copiam exemplos de SMTP de tutoriais antigos que usam a senha normal do Gmail. Esses exemplos funcionavam enquanto o Google ainda permitia o acesso de Less Secure Apps, cujo desligamento começou em 30 de setembro de 2024 e terminou de vez em 1º de maio de 2025. Hoje, toda conexão SMTP com o Gmail exige uma senha de app ou um token OAuth 2.0.

Para diagnosticar erros de SMTP de forma interativa, use o openssl para abrir uma conexão TLS crua. Ela mostra o banner SMTP e a resposta de erro exata do servidor do Google, o que ajuda quando clientes de mais alto nível escondem o código de erro original. O comando conecta na porta 465 com TLS implícito.

Terminal
# Open a raw TLS connection to Gmail SMTP
openssl s_client -connect smtp.gmail.com:465 -quiet

# You'll see the SMTP banner:
# 220 smtp.gmail.com ESMTP ... - gsmtp

# Authenticate manually:
EHLO localhost
AUTH LOGIN
# Enter base64-encoded username and password
# Google returns 235 on success or 535-5.7.8 on failure

O SMTP do Gmail está sendo descontinuado?

O SMTP do Gmail em si não está sendo descontinuado. O servidor smtp.gmail.com continua aceitando conexões nas portas 587 e 465 em maio de 2026. O que mudou foi a forma de autenticar. O Google removeu sistematicamente os métodos de autenticação mais fáceis nos últimos 4 anos, deixando apenas senhas de app e OAuth 2.0. A direção é clara: OAuth é o caminho pretendido.

Esta é a linha do tempo do que o Google já desligou:

DataO que aconteceu
30 de maio de 2022O Google parou de permitir que novos apps ativassem o acesso de Less Secure Apps
15 de junho de 2024O botão de Less Secure Apps foi removido do Admin Console do Workspace
30 de setembro de 2024Corte anunciado do acesso de Less Secure Apps em contas Google Workspace; rollout pausado em outubro de 2024
1º de maio de 2025Aplicação final: Less Secure Apps deixou de ser suportado em qualquer conta Workspace

Senhas de app continuam disponíveis hoje, mas a própria documentação do Google as classifica como "not recommended". Elas trazem risco: qualquer pessoa com o código de 16 caracteres tem acesso SMTP total à conta, e não dá para restringir uma senha de app a ações específicas. O OAuth 2.0 permite solicitar somente os escopos necessários (por exemplo, https://mail.google.com/ para SMTP), e os tokens expiram após 3.600 segundos. Se você está construindo algo novo, use OAuth.

Para administradores do Workspace, o post de setembro de 2023 no blog do Google confirmou o caminho de migração: apps que precisam de acesso a e-mail devem usar OAuth ou a API do Gmail. Impressoras e scanners que não conseguem fazer OAuth devem usar o relay smtp-relay.gmail.com com autenticação por IP.

Como enviar e-mail sem configurar SMTP?

O Nylas CLI envia e-mail pela API Nylas sem configuração SMTP, senhas de app ou gerenciamento de tokens OAuth. Um comando autentica via OAuth no navegador, e os envios seguintes usam credenciais armazenadas que se renovam automaticamente a cada 3.600 segundos. Toda a configuração, da instalação ao primeiro e-mail enviado, leva menos de 2 minutos. Funciona com Gmail, Outlook, Exchange, Yahoo, iCloud e provedores IMAP.

Instale o CLI com o Homebrew e execute a configuração guiada. O comando nylas init orienta você na criação da conta, na configuração da chave de API e na conexão da caixa de correio. Se você já tem uma chave de API Nylas, pode ir direto para nylas auth config. Veja o guia de primeiros passos para outros métodos de instalação (shell script, PowerShell, Go).

Terminal
# Install Nylas CLI
brew install nylas/nylas-cli/nylas

# Guided setup (creates account, API key, connects mailbox)
nylas init

# Or, if you already have an API key
nylas auth config --api-key nyl_abc123
nylas auth login

# Send an email — no SMTP, no app password, no port config
nylas email send \
  --to recipient@example.com \
  --subject "Sent without SMTP" \
  --body "No smtp.gmail.com, no port 587, no app password."

# Send non-interactively (for scripts and cron jobs)
nylas email send \
  --to ops@company.com \
  --subject "Deploy complete" \
  --body "Build #1847 deployed at $(date)" \
  --yes

A diferença entre enviar via SMTP e via API é significativa para scripts que rodam sem supervisão. Com SMTP, você gerencia credenciais (senhas de app que quebram quando a senha da conta muda), pool de conexões (o Gmail limita a 10 sessões SMTP simultâneas) e negociação TLS. Com o CLI, um comando cuida de tudo isso. A ferramenta armazena os tokens OAuth no keyring do sistema e os renova antes de expirarem.

Para scripts Python que hoje usam smtplib com as configurações SMTP do Gmail, você pode substituir o bloco SMTP por uma chamada de subprocess. Isso elimina por completo a configuração SMTP e a senha de app do seu código. O guia Enviar e-mail do Python sem SMTP cobre o padrão de migração completo.

send_email.py
# Before: 15 lines of smtplib + Gmail SMTP config
import smtplib
from email.mime.text import MIMEText

msg = MIMEText("Hello from Python")
msg["Subject"] = "Test"
msg["From"] = "you@gmail.com"
msg["To"] = "recipient@example.com"

with smtplib.SMTP("smtp.gmail.com", 587) as server:
    server.starttls()
    server.login("you@gmail.com", "abcd-efgh-ijkl-mnop")  # app password
    server.send_message(msg)

# After: 1 subprocess call, no SMTP, no password in code
import subprocess
subprocess.run([
    "nylas", "email", "send",
    "--to", "recipient@example.com",
    "--subject", "Test",
    "--body", "Hello from Python",
    "--yes"
], check=True)

Se o seu caso de uso exige SMTP (testes de servidor de e-mail, integração com impressoras, apps legados que não conseguem chamar subprocessos), as configurações no topo desta página são o que você precisa. Para todo o resto, enviar por uma API remove as partes móveis: nenhuma porta para lembrar, nenhum TLS para negociar, nenhuma senha de app para rotacionar.

Próximos passos