3.9 KiB
3.9 KiB
E-mail Ligbox — arquitetura corrigida (VM112)
Atualizado: 2026-06-19 (Roger)
Estado: ✅ Produção validada
Regra de ouro
| Domínio | Servidor Carbonio | IP | Hostname SMTP |
|---|---|---|---|
ligbox.com.br |
VM112 | 10.10.10.112 |
mail.ligbox.com.br |
dratcoin.com, ibytera.com, tenants onboarding |
VM112 | 10.10.10.112 |
mail.ligbox.com.br |
nutranik.com |
VM108 (outro produto) | 10.10.10.108 |
mail.ligbox.com.br (hostname partilhado, domínio diferente) |
Não usar VM108 para @ligbox.com.br. Caixas Ligbox (admin@, rogerio@, ops@, etc.) vivem na VM112.
Não criar domínios/contas itecnologys.com na VM112 — notificações admin usam admin@ligbox.com.br.
Wizard onboarding (VM112)
| Parâmetro | Valor |
|---|---|
NOTIFY_ADMIN_EMAIL |
admin@ligbox.com.br |
NOTIFY_FROM_EMAIL |
noreply@ligbox.com.br |
SMTP_HOST / SMTP_PORT |
127.0.0.1:25 (Postfix Carbonio local) |
Ficheiro env: /opt/ligbox-deploy/env/.env (carregado pelo systemd ligbox-wizard.service)
Código: backend/app/services/notifications.py — dispara admin, cliente e boas-vindas em POST /api/onboarding/account/create.
Doc operacional: NOTIFICACOES_E_TERMINAL.md
Desk Ops / técnicos (VM122)
Postfix na VM122 é MTA local da API Desk (mail_notify.py).
transport_maps (/etc/postfix/transport)
ligbox.com.br lmtp:[10.10.10.112]:7025
ibytera.com lmtp:[10.10.10.112]:7025
dratcoin.com lmtp:[10.10.10.112]:7025
API Docker (.env)
DESK_SMTP_HOST=10.10.10.122
DESK_SMTP_PORT=25
DESK_MAIL_FROM=ligbox-ops@ligbox.com.br
DESK_ROOT_NOTIFY_EMAIL=admin@ligbox.com.br
Cadastro de técnicos
- Preferir e-mails
@ligbox.com.br(Spec 004). - OTP, aprovação e notificações root →
admin@ligbox.com.brna VM112.
Doc Desk: ligbox-ops-platform/docs/postfix-vm122.md
Problema corrigido (2026-06-19)
| Sintoma | Causa | Correção |
|---|---|---|
| Admin não recebia e-mail do wizard | NOTIFY_ADMIN_EMAIL=admin@itecnologys.com — caixa inexistente no Carbonio |
admin@ligbox.com.br |
| Desk OTP / aprovação não chegava | VM122 enviava @ligbox.com.br para LMTP VM108 (domínio não existe lá) |
transport → VM112:7025 |
Fila presa @itecnologys.com |
MX público timeout | postsuper -d ALL deferred; usar @ligbox.com.br no Desk |
Testes rápidos
VM112 — wizard SMTP
cd /opt/ligbox-wizard/backend
/opt/ligbox-wizard/.venv/bin/python3 - <<'PY'
import smtplib
from email.mime.text import MIMEText
msg = MIMEText("teste wizard")
msg["Subject"] = "[TEST] wizard admin"
msg["From"] = "noreply@ligbox.com.br"
msg["To"] = "admin@ligbox.com.br"
with smtplib.SMTP("127.0.0.1", 25, timeout=15) as s:
s.sendmail(msg["From"], [msg["To"]], msg.as_string())
print("OK")
PY
VM122 — Desk SMTP
python3 - <<'PY'
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["From"] = "ligbox-ops@ligbox.com.br"
msg["To"] = "admin@ligbox.com.br"
msg["Subject"] = "[TEST] desk"
msg.set_content("teste desk")
with smtplib.SMTP("127.0.0.1", 25, timeout=15) as s:
s.send_message(msg)
print("OK")
PY
journalctl | grep "admin@ligbox.com.br" | tail -3
Resultado esperado na VM122: status=sent via relay=10.10.10.112:7025.
Documentos relacionados
| Documento | Conteúdo |
|---|---|
NOTIFICACOES_E_TERMINAL.md |
Notificações wizard (admin, cliente, boas-vindas) |
SPEC_FUNCIONAL_VM112_LIGBOX_ONBOARD.md |
Spec funcional VM112 |
ligbox-ops-platform/docs/postfix-vm122.md |
Postfix Desk |
ligbox-ops-platform/specs/004-desk-account-management/ |
Cadastro e OTP técnicos |