Pular para o conteúdo principal

E-mail Não Enviando

Solução de problemas passo a passo para problemas de entrega de e-mail.


Passo 1: Verificar o Básico

# Verificar as configurações SMTP no .env
grep MAIL_ .env

Verifique:

  • MAIL_MAILER=smtp (não log ou null)
  • MAIL_HOST está correto
  • MAIL_PORT está correto (587 para TLS, 465 para SSL)
  • MAIL_USERNAME e MAIL_PASSWORD estão preenchidos
  • MAIL_ENCRYPTION=tls (ou ssl)

Passo 2: Testar pelo Painel Admin

  1. Vá em Admin > Configurações > E-mail
  2. Clique em Enviar E-mail de Teste
  3. Verifique a mensagem de erro se falhar

Passo 3: Testar pela Linha de Comando

php artisan tinker
Mail::raw('Teste', function ($m) {
$m->to('[email protected]')->subject('Teste');
});

Verifique storage/logs/laravel.log para erros.


Problemas Comuns

ProblemaSolução
"Connection timed out"Porta 587/465 bloqueada pela hospedagem. Tente a porta 2525 ou entre em contato com o host.
"Authentication failed"Usuário/senha incorretos. Para Gmail, use a Senha de App.
"Certificate verify failed"PHP antigo. Tente 'verify_peer' => false nas opções do mailer em config/mail.php.
E-mails indo para spamAdicione registros SPF, DKIM e DMARC no DNS.
E-mails atrasadosUsando QUEUE_CONNECTION=database? Certifique-se de que o worker de fila está rodando.
Sem erro mas sem e-mailUsando MAIL_MAILER=log? Os e-mails estão sendo registrados, não enviados. Verifique storage/logs/laravel.log.

Usando MAIL_MAILER=log para Depuração

Defina MAIL_MAILER=log no .env para capturar todos os e-mails no arquivo de log em vez de enviá-los. Útil para verificar o conteúdo do e-mail sem afetar destinatários reais.


Próximos Passos