Pular para o conteúdo principal

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

  1. A coleta IMAP salva o e-mail original.
  2. A IA sugere classificação, ação e resposta.
  3. O gestor revisa a resposta.
  4. O gestor aprova a resposta para envio futuro.
  5. O gestor clica em Enviar resposta aprovada.
  6. O sistema valida o status, a conta SMTP, o destinatário e o corpo.
  7. O sistema envia por SMTP.
  8. Somente após sucesso, preenche sent_at e altera status para sent.

Diferença entre aprovar e enviar

Aprovar resposta define:

  • status = approved
  • approved_at preenchido
  • approved_by = admin
  • sent_at = null

Enviar resposta define:

  • status = sent
  • sent_at preenchido
  • smtp_message_id quando 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 original
  • In-Reply-To
  • References

Bloqueios

O envio é bloqueado quando:

  • resposta não está approved;
  • sent_at já está preenchido;
  • remetente original é inválido;
  • remetente original é no-reply, noreply, donotreply ou do-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.