Pular para o conteúdo principal

Configuração de E-mail / SMTP

O FeedbackPulse envia vários e-mails transacionais. A configuração adequada de e-mail é importante para:

  • E-mails de boas-vindas para novos tenants
  • Links de convite de equipe
  • E-mails de redefinição de senha
  • Verificação OTP por e-mail (para formulários de feedback)
  • Resumos diários/semanais
  • Relatórios agendados
  • Alertas de uso
  • Notificações de alteração de plano

⚙️ Métodos de Configuração

Método 1: Via Painel de Admin (Recomendado)

  1. Faça login como superadmin
  2. Vá para Admin → Configurações → E-mail
  3. Preencha seus detalhes SMTP
  4. Clique em Enviar E-mail de Teste para verificar
  5. Salve

Método 2: Via Arquivo .env

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="FeedbackPulse"

📮 Configuração por Provedor

📧 Gmail

MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_app_password
MAIL_ENCRYPTION=tls

⚠️ Importante: O Gmail requer uma Senha de App, não sua senha normal.

  1. Vá para Segurança da Conta Google
  2. Habilite a Verificação em 2 Etapas (obrigatório)
  3. Vá para Senhas de app → selecione "E-mail" → gere
  4. Use a senha de 16 caracteres gerada

🔴 Limites do Gmail: 500 e-mails/dia (pessoal) ou 2.000/dia (Workspace). Não recomendado para SaaS em produção.

🔫 Mailgun

MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_mailgun_smtp_password
MAIL_ENCRYPTION=tls
  1. Cadastre-se no Mailgun
  2. Adicione seu domínio → verifique os registros DNS
  3. Vá para Sending → Domain Settings → SMTP credentials
  4. Copie a senha SMTP

📦 Amazon SES

MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=587
MAIL_USERNAME=your_ses_smtp_username
MAIL_PASSWORD=your_ses_smtp_password
MAIL_ENCRYPTION=tls
  1. Vá para o Console do AWS SES
  2. Verifique seu domínio
  3. Vá para SMTP Settings → Create SMTP Credentials
  4. Saia do modo sandbox para produção

📨 SendGrid

MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your_sendgrid_api_key
MAIL_ENCRYPTION=tls

💡 Nota: O nome de usuário é literalmente apikey (não seu e-mail). A senha é sua chave de API do SendGrid.

✉️ Postmark

MAIL_HOST=smtp.postmarkapp.com
MAIL_PORT=587
MAIL_USERNAME=your_postmark_server_api_token
MAIL_PASSWORD=your_postmark_server_api_token
MAIL_ENCRYPTION=tls

🔵 ZOHO Mail

MAIL_HOST=smtp.zoho.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_zoho_password
MAIL_ENCRYPTION=tls

🧪 Mailtrap (Apenas para Testes!)

MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=your_mailtrap_username
MAIL_PASSWORD=your_mailtrap_password
MAIL_ENCRYPTION=tls

⚠️ O Mailtrap é apenas para desenvolvimento/testes. Os e-mails são capturados na sua caixa do Mailtrap e nunca são entregues a destinatários reais.


🧪 Testando o E-mail

Via Painel de Admin

  1. Vá para Admin → Configurações → E-mail
  2. Clique em Enviar E-mail de Teste
  3. Verifique sua caixa de entrada

Via Linha de Comando

php artisan tinker
Mail::raw('Test email from FeedbackPulse', function ($message) {
$message->to('[email protected]')->subject('SMTP Test');
});

📨 E-mails Enviados pelo FeedbackPulse

E-mailQuandoDestinatário
Boas-vindasNovo tenant se registraAdmin do tenant
Convite de EquipeAdmin convida membro da equipeE-mail do convidado
Plano AlteradoAssinatura mudaAdmin do tenant
Alerta de Nova SubmissãoNovo feedback recebidoAdmin/staff do tenant
Resumo por E-mailAgendamento diário/semanalAdmin do tenant
Relatório AgendadoDiário/semanal/mensalAdmin do tenant
Alerta de Uso90%+ do limite do planoAdmin do tenant
Redefinição de SenhaUsuário solicita redefiniçãoUsuário solicitante
Verificação de E-mailNovo cadastroNovo usuário
Código OTPFormulário de feedback com OTPUsuário final enviando feedback

🐛 Solução de Problemas de E-mail

ProblemaSolução
E-mails não enviandoVerifique as configurações SMTP no .env. Tente MAIL_MAILER=log para testar sem SMTP. Verifique storage/logs/laravel.log.
E-mails indo para spamAdicione registros SPF, DKIM e DMARC ao DNS do seu domínio. Use um provedor SMTP confiável.
"Connection timed out"A porta 587/465 pode estar bloqueada pelo seu provedor de hospedagem. Tente uma porta ou provedor diferente.
Erro "Less secure apps" do GmailUse a Senha de App. Consulte a seção do Gmail acima.
E-mails atrasadosSe estiver usando QUEUE_CONNECTION=database, certifique-se de que o worker de fila esteja em execução.

⏭️ Próximos Passos