Envio SMTP de resposta aprovada
Objetivo
A Issue #17 permite que o gestor envie manualmente uma resposta já aprovada na tela administrativa de e-mails.
A IA continua apenas sugerindo. Ela não envia e-mail, não aprova e não executa ações.
Fluxo
- A coleta IMAP salva o e-mail original.
- A IA sugere classificação, ação e resposta.
- O gestor revisa a resposta.
- O gestor aprova a resposta para envio futuro.
- O gestor clica em Enviar resposta aprovada.
- O sistema valida o status, a conta SMTP, o destinatário e o corpo.
- O sistema envia por SMTP.
- Somente após sucesso, preenche
sent_ate altera status parasent.
Diferença entre aprovar e enviar
Aprovar resposta define:
status = approvedapproved_atpreenchidoapproved_by = adminsent_at = null
Enviar resposta define:
status = sentsent_atpreenchidosmtp_message_idquando disponível
Endpoint
POST /api/admin/emails/suggested-replies/{reply}/send
Protegido por X-Admin-Token.
Comando Artisan
php artisan email:send-approved-reply {replyId}
O comando não faz envio em lote.
Headers de thread
Quando disponíveis, o envio preserva:
Subject: Re: assunto originalIn-Reply-ToReferences
Bloqueios
O envio é bloqueado quando:
- resposta não está
approved; sent_atjá está preenchido;- remetente original é inválido;
- remetente original é
no-reply,noreply,donotreplyoudo-not-reply; - conta não tem SMTP configurado;
- corpo final está vazio.
Segurança
Nunca registrar em auditoria:
- senha SMTP;
- senha IMAP;
- corpo da resposta;
- corpo original do e-mail;
- headers crus;
- stack trace bruto.
Fora do escopo
- envio em massa;
- scheduler;
- retry automático;
- anexos;
- HTML avançado;
- OAuth Gmail/Microsoft;
- mover, apagar ou marcar e-mail no IMAP.