Como cadastrar caixas de e-mail
Cada caixa IMAP/SMTP vira um canal do Chat. Não reutiliza o SMTP transacional de Configurações → SMTP. Tela: /admin/email-mailboxes.
Pré-requisito
Flag Chat em Gerais. Permissão de WhatsApp/settings. Host IMAP e SMTP do provedor (porta, SSL/TLS e senha de aplicativo, se o Gmail/Outlook exigir).
Maquete
1
Atendimento fiscal
2
fiscal@escritorio.com
3
imap.provedor.com · 993 · SSL
4
smtp.provedor.com · 587 · TLS
5
Fiscal (ou nenhum)
6
Conectado
Passo a passo
- Com o Chat ligado, abra Configurações → Caixas de e-mail.
- Informe IMAP (entrada) e SMTP (saída), usuário e senha. Teste a conexão.
- Associe um departamento se quiser que a IA e a restrição usem essa caixa.
- Na inbox, o ícone de envelope identifica o canal e-mail. Nova conversa pede a caixa e o e-mail do destinatário.
Sync quente e frio
O PHP da página não abre IMAP. Um job na fila Horizon email-sync busca INBOX e Sent.
- Quente — enquanto alguém está na tela do Chat, o browser envia presença a cada 60s (
hot_until) e o job sincroniza com mais frequência. - Frio — o agendador
tenant:chat-email-sync(1 min) cobre o restante, com intervalo maior.
Conversa é por remetente (e-mail normalizado). HTML do cliente é sanitizado no servidor antes de aparecer na bolha.
Glossário
| Campo | O que faz |
|---|---|
| IMAP | Recebe mensagens. Porta típica 993 com SSL. |
| SMTP | Envia respostas da inbox. Porta típica 587 com TLS / STARTTLS. Independente do SMTP de faturas. |
| SSL / TLS / Nenhuma | Criptografia da conexão. “Nenhuma” só em laboratório. |
| Departamento | Igual ao WhatsApp: roteia e escolhe agente de IA. |
| Status conectado | Último teste IMAP/SMTP ok. Erro mostra chip vermelho. |
| HTML sanitizado | A bolha só renderiza HTML limpo no servidor — sem scripts do remetente. |
Erro comum
Usar o SMTP do SendGrid da plataforma como caixa de atendimento. A caixa precisa das credenciais IMAP+SMTP da conta que o cliente escreve. Edit/delete/react no provedor de e-mail não existem — a UI devolve 422.