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)
- Faça login como superadmin
- Vá para Admin → Configurações → E-mail
- Preencha seus detalhes SMTP
- Clique em Enviar E-mail de Teste para verificar
- 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.
- Vá para Segurança da Conta Google
- Habilite a Verificação em 2 Etapas (obrigatório)
- Vá para Senhas de app → selecione "E-mail" → gere
- 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
- Cadastre-se no Mailgun
- Adicione seu domínio → verifique os registros DNS
- Vá para Sending → Domain Settings → SMTP credentials
- 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
- Vá para o Console do AWS SES
- Verifique seu domínio
- Vá para SMTP Settings → Create SMTP Credentials
- 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
- Vá para Admin → Configurações → E-mail
- Clique em Enviar E-mail de Teste
- 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
| Quando | Destinatário | |
|---|---|---|
| Boas-vindas | Novo tenant se registra | Admin do tenant |
| Convite de Equipe | Admin convida membro da equipe | E-mail do convidado |
| Plano Alterado | Assinatura muda | Admin do tenant |
| Alerta de Nova Submissão | Novo feedback recebido | Admin/staff do tenant |
| Resumo por E-mail | Agendamento diário/semanal | Admin do tenant |
| Relatório Agendado | Diário/semanal/mensal | Admin do tenant |
| Alerta de Uso | 90%+ do limite do plano | Admin do tenant |
| Redefinição de Senha | Usuário solicita redefinição | Usuário solicitante |
| Verificação de E-mail | Novo cadastro | Novo usuário |
| Código OTP | Formulário de feedback com OTP | Usuário final enviando feedback |
🐛 Solução de Problemas de E-mail
| Problema | Solução |
|---|---|
| E-mails não enviando | Verifique as configurações SMTP no .env. Tente MAIL_MAILER=log para testar sem SMTP. Verifique storage/logs/laravel.log. |
| E-mails indo para spam | Adicione 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 Gmail | Use a Senha de App. Consulte a seção do Gmail acima. |
| E-mails atrasados | Se estiver usando QUEUE_CONNECTION=database, certifique-se de que o worker de fila esteja em execução. |