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
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ção | Valor |
|---|---|
| Servidor SMTP | smtp.gmail.com |
| Porta (STARTTLS) | 587 |
| Porta (SSL/TLS) | 465 |
| Criptografia | TLS 1.2 ou superior obrigatório |
| Autenticação | Senha de app ou OAuth 2.0 |
| Usuário | Seu 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 — 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 : gmailComo 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:
- Acesse myaccount.google.com/security e confirme que a verificação em duas etapas está ativa.
- Abra myaccount.google.com/apppasswords.
- Digite um nome para o app (por exemplo, "Script SMTP") e clique em Criar.
- Copie a senha de 16 caracteres. Ela aparece uma única vez — não dá para recuperá-la depois.
- 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.
# 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 OKQuais 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.
| Limite | Gmail pessoal | Google Workspace |
|---|---|---|
| Mensagens por dia | 500 | 2.000 |
| Destinatários por mensagem | 500 | 2.000 (500 externos) |
| Destinatários por dia | 500 | 10.000 |
| Destinatários externos únicos/dia | 500 | 3.000 |
| Mala direta por dia | N/A | 1.500 |
| Destinatários SMTP por mensagem | 100 | 100 |
| Tamanho máximo de anexo | 25 MB | 25 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 erro | Mensagem | Causa | Correção |
|---|---|---|---|
534-5.7.9 | "Application-specific password required" | A conta tem verificação em duas etapas, mas nenhuma senha de app | Gere 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 alterada | Gere uma nova senha de app |
421-4.7.0 | "Too many concurrent SMTP connections" | Mais de 10 sessões SMTP simultâneas na mesma conta | Reduza 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 STARTTLS | Ative 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.
# 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 failureO 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:
| Data | O que aconteceu |
|---|---|
| 30 de maio de 2022 | O Google parou de permitir que novos apps ativassem o acesso de Less Secure Apps |
| 15 de junho de 2024 | O botão de Less Secure Apps foi removido do Admin Console do Workspace |
| 30 de setembro de 2024 | Corte anunciado do acesso de Less Secure Apps em contas Google Workspace; rollout pausado em outubro de 2024 |
| 1º de maio de 2025 | Aplicaçã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).
# 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)" \
--yesA 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.
# 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
- Senhas de app do Gmail: configuração e pegadinhas — crie a sua, ou dispense-a com OAuth
- API de e-mail vs SMTP — quando SMTP basta e quando não basta
- Referência completa de comandos — todas as flags, subcomandos e exemplos do Nylas CLI
- Enviar e-mail pelo terminal — workflows de envio detalhados para Gmail, Outlook, Exchange, Yahoo, iCloud e IMAP
- Enviar e-mail do Python sem SMTP — substitua o
smtplibpor uma única chamada de subprocess - Wrapper Python para smtplib: construir ou dispensar — padrões de conexão, TLS e retry para scripts que mantêm SMTP
- Primeiros passos — instale no macOS, Linux ou Windows em menos de 2 minutos
- SPF, DKIM, DMARC: depure a entregabilidade de e-mail — diagnostique headers de autenticação e tratamento de bounces pela linha de comando
- Ferramentas de e-mail para CLI comparadas — compare Nylas CLI, Himalaya, msmtp, NeoMutt e outras 3 ferramentas