De um host novo ao fluxo de e-mails em produção em 8 etapas
Um servidor de e-mail depende mais da sua rede do que do seu hardware: se a porta 25 estiver bloqueada ou o DNS reverso (PTR) estiver ausente, as mensagens não serão entregues, independentemente da potência da CPU. Este guia conduz você, em ordem rigorosa, das verificações preliminares, passando pela instalação, DKIM com chave dupla, TLS e configuração de dispositivos móveis, até a primeira entrega verificada.
Como o nextxch inicializa e chega à produção
O nextxch reúne ESMTP, IMAP4rev2, POP3, JMAP, Exchange ActiveSync, CalDAV/CardDAV, ManageSieve, SpamGuard, o arquivo GoBD WORM, o Admin Cockpit (/admin/) e o nextxch Webmail PWA (/mail/) em um único binário com segurança de memória (~40 a 90 MB de RAM em repouso). Nada é baixado do GitHub na primeira inicialização, e não são necessários wrappers NSSM externos, Redis, Rspamd nem contêineres de webmail separados.
Pré-requisitos de sistema & rede (checklist pré-voo)
Marque todos os 6 itens abaixo antes de instalar. Quatro deles são controlados fora do servidor, no painel de controle da hospedagem ou do DNS.
| Porta | Protocolo / serviço | Direção | Requisito e orientação |
|---|---|---|---|
25 / TCP | ESMTP (MX servidor a servidor + STARTTLS/DANE) | Entrada e saída | Obrigatória - Essencial para receber e entregar e-mails da internet. |
443 / TCP | HTTPS (/admin/, /mail/, JMAP, ActiveSync, DAV, MTA-STS) | Entrada (+ saída) | Obrigatório - atende Webmail, admin, Mobile Push, DAV, JMAP e ACME. |
465 / TCP | Submissão SMTPS (TLS implícito, RFC 8314) | Entrada | Obrigatória - porta preferencial de submissão com TLS implícito (RFC 8314). |
587 / TCP | Submissão SMTP (STARTTLS) | Entrada | Obrigatório - submissão STARTTLS padrão para Outlook, impressoras e ERPs. |
993 / TCP | IMAPS (IMAP4rev2 TLS implícito) | Entrada | Obrigatório - IMAP4rev2 criptografado com push IDLE sem polling. |
80 / TCP | HTTP (ACME HTTP-01 & Autoconfig) | Entrada | Recomendado (opcional ao usar TLS-ALPN-01 ou PFX do gateway). |
4190 / TCP | ManageSieve (STARTTLS) | Entrada | Opcional (o editor visual de Sieve do Webmail já funciona pela porta 443). |
143 / TCP | IMAP (STARTTLS) | Entrada | Opcional (prefira a porta 993 com TLS implícito). |
995 / TCP | POP3S (TLS implícito) | Entrada | Opcional (somente se o POP3 estiver ativado em Admin > Rede; desativado por padrão). |
110 / TCP | POP3 (STLS) | Entrada | Opcional (prefira a porta 995 com TLS implícito). |
| Porte da implantação | CPU | RAM | Disco & banco de dados recomendado |
|---|---|---|---|
| 1 - 250 caixas de correio | 2 vCPU | 1 - 2 GB | NVMe/SSD · SQLite WAL embutido + Zstandard (~40-90 MB de footprint do servidor). |
| 250 - 2.500 caixas de correio | 4 vCPU | 4 - 8 GB | NVMe + S3 híbrido opcional · PostgreSQL 18 ou Microsoft SQL Server (2019-2025). |
| Cluster HA 2.500+ | 8+ vCPU | 16+ GB | Nós Active-Active em PostgreSQL 18 ou SQL Server Always On + S3 Object Lock. |
Escolha da plataforma e do backend de armazenamento
Todas as plataformas executam exatamente o mesmo conjunto de recursos. Escolha o método de implantação e o backend SQL adequados à sua equipe de operações.
| Plataforma | Método | Mais indicado para |
|---|---|---|
| Windows Server 2019-2025 | .msi / install.ps1 | Serviço nativo do Windows SCM sem Docker ou NSSM; ideal junto com Microsoft SQL Server ou migrações do hMailServer. |
| Linux (x86_64 & ARM64) | install.sh · .deb · systemd | Daemon systemd enxuto, sem root, em servidores Debian, Ubuntu LTS, RHEL/Rocky ou ARM64. |
| Docker Compose | nextxch/server:1.0.0 | Stacks de contêineres reproduzíveis em hosts Linux, VMs Proxmox, Synology, UGREEN e Unraid. |
| macOS & Kubernetes | launchd / Helm v3 | Servidores de escritório Mac mini (launchd) ou clusters Kubernetes Active-Active horizontais. |
O tutorial em 8 etapas: da instalação ao primeiro e-mail de teste verificado
Selecione abaixo sua plataforma de destino. Cada uma das 8 etapas explica o que faz, mostra o comando exato, confirma o resultado esperado e destaca a armadilha mais comum exatamente onde ela ocorre.
Instale o serviço & abra as portas do firewall
Baixa o pacote da versão, verifica seu digest SHA-256 e registra o serviço em segundo plano e o diretório de dados persistente.
# PowerShell (Admin): Downloads .msi (v1.0.0), verifies SHA-256 & launches setup irm https://nextxch.com/install.ps1 | iex # Ensure Windows Defender Firewall permits inbound mail & HTTPS ports New-NetFirewallRule -DisplayName "nextxch" -Direction Inbound ` -Protocol TCP -LocalPort 25,80,443,465,587,993,4190 -Action Allow
# Debian / Ubuntu / RHEL / macOS: Verifies SHA-256 & registers systemd unit curl -fsSL https://nextxch.com/install.sh | sudo bash # If UFW is enabled, allow required mail & HTTPS ports: sudo ufw allow 25,80,443,465,587,993,4190/tcp
# Pulls SHA-256-verified nextxch/server:1.0.0 & writes docker-compose.yml curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- \ --mode docker --domain firma.de --hostname mail.firma.de --admin admin@firma.de
Verificar a integridade do serviço & entrar em /admin/
Confirme nos logs que os listeners iniciaram sem erros e entre no Admin Cockpit com as credenciais de administrador definidas durante a instalação.
Get-Service nextxch # Open in browser: https://mail.firma.de/admin/ (or http://localhost/admin/)
sudo systemctl status nextxch sudo journalctl -u nextxch -n 30 --no-pager # Open in browser: https://mail.firma.de/admin/
docker compose ps docker compose logs --tail=30 nextxch # Open in browser: https://mail.firma.de/admin/
Configurar domínio de e-mail & DKIM paralelo com duas chaves
Abra Domains & Routing -> Manage Domain em /admin/. O nextxch provisiona automaticamente dois pares de chaves DKIM paralelos: RSA-2048 (seletor s2026) e Ed25519 (seletor s2026ed).
Ativar certificado TLS (ACME Let's Encrypt ou PFX do gateway)
Abra Segurança & certificados -> TLS & ACME. Assim que mail.company.com resolver para o seu host, solicite um certificado Let's Encrypt via HTTP-01 ou TLS-ALPN-01 (porta 443), ou envie um certificado .pfx/.pem do seu pfSense/gateway SSL.
Publicar registros DNS e executar a verificação de DNS ao vivo
Copie os registros DNS calculados do DNS Advisor integrado (ou exporte o arquivo de zona BIND): MX, A/AAAA, SPF, ambos os seletores DKIM (s2026 + s2026ed), DMARC, MTA-STS, TLS-RPT e, opcionalmente, DANE TLSA (3 1 1) e BIMI.
Proteja o servidor antes da produção
Registre uma chave de acesso (WebAuthn) ou 2FA TOTP na sua conta de administrador, mantenha os limites do SpamGuard em 4.5 / 9.0 com o greylisting inteligente ativo e ative o arquivamento GoBD WORM em domínios comerciais.
Crie a primeira caixa de correio & conecte dispositivos móveis em 30 segundos
Crie sua primeira caixa de correio de usuário em Contas e listas, faça login em https://mail.company.com/mail/ e clique em 'Configuração do dispositivo' para gerar um QR code ou um link de onboarding com 1 clique seguro para mensageiros, com um perfil iOS/macOS assinado com CMS ou Exchange ActiveSync.
Confirme a entrega de entrada & saída via testador de MX ao vivo & Message Trace
Execute Diagnostics & Logs -> Outbound MX & DANE Tester contra gmail.com ou um endereço externo e, em seguida, envie um e-mail real a partir de /mail/ e responda para verificar o fluxo nos dois sentidos.
Operação atrás de pfSense / OPNsense, gateways SSL & proxies reversos
Ao implantar atrás de pfSense, OPNsense, Sophos ou HAProxy, configure estas três opções para diagnósticos precisos e preservação do IP real do cliente:
| Cenário | Configuração recomendada |
|---|---|
| Split-DNS / Hairpin-NAT | Configure uma substituição de host Split-DNS no Unbound apontando mail.company.com para o IP interno da LAN, ou ative Pure NAT Reflection no seu gateway. |
| Protocolo PROXY do HAProxy | Ative o protocolo PROXY v1/v2 restrito ao CIDR do seu proxy confiável, para que o SPF e o Auto-Ban vejam o IP remoto real em vez do IP do gateway. |
| Certificado do gateway | Sincronize o certificado .pfx/.pem renovado do seu gateway com o nextxch para as portas 25/465/587/993; o SNI dinâmico recarrega a quente os certificados atualizados sem downtime. |
Solução de problemas por sintoma (do erro à correção imediata)
Clique abaixo no sintoma que você observa ou digite parte da mensagem de erro na caixa de filtro rápido acima:
O verificador de portas externo informa 'Blocked / Timeout', embora o serviço esteja em execução
TCP 25 / 465 / 993 Timeout
O serviço não consegue fazer bind em uma porta na inicialização
Address already in use (:25 / :80 / :443)
E-mails de saída para Gmail, Microsoft 365 ou grandes ISPs são rejeitados
550-5.7.25 / 550-5.7.1 PTR missing
O Live DNS Inspector não encontra seu registro TXT de DKIM ou DMARC publicado
NXDOMAIN s2026._domainkey
O ACME do Let's Encrypt não consegue emitir um certificado ou o navegador mostra um aviso de TLS
ACME challenge failed
O iPhone abre um link de onboarding do WhatsApp / Teams sem iniciar imediatamente a instalação do perfil em Ajustes
iOS In-App WebView
O contêiner Docker reinicia ou não consegue gravar no volume montado do host
Access to path '/var/lib/nextxch' denied
O cliente de e-mail não consegue entrar via IMAP ou SMTP
535 Authentication failed / TLS required
Próximos passos: upgrades em 10 segundos, backups e migração
Assim que o fluxo de e-mail nos dois sentidos for confirmado, seu servidor estará pronto para produção. Tenha à mão estes três fluxos de trabalho operacionais:
# 1) In-place upgrade (preserves configuration, certificates & mailboxes): # Linux / macOS: curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- --update # Windows PowerShell (Administrator): irm https://nextxch.com/install.ps1 | iex # 2) Backup scope (only 2 paths): # - Config file: appsettings.Production.json (including license token) # - Data dir: Storage:DataDirectory (SQLite WAL / blobs / TLS certs) # or pg_dump / SQL Server backup when running an external DB cluster
Respostas rápidas antes da primeira inicialização
O nextxch exige NSSM ou Docker Desktop no Windows Server?
Não. Ao contrário de servidores que exigem wrappers de serviço NSSM no Windows, o nextxch se registra nativamente no Service Control Manager (SCM) do Windows por meio do nosso instalador .msi oficial, sem Docker Desktop, WSL2 ou Hyper-V.
O nextxch precisa de acesso à internet na primeira inicialização para baixar sua WebUI ou regras de spam?
Não. Todo o Admin Cockpit (/admin/), o nextxch Webmail PWA (/mail/), o mecanismo SpamGuard e todos os listeners de protocolo estão contidos no pacote verificado por SHA-256, permitindo uma inicialização 100% offline/air-gapped.
Por que o DNS reverso (PTR) precisa corresponder antes de enviar o primeiro e-mail de teste?
Grandes receptores como Gmail, Microsoft 365 e ISPs europeus verificam se tanto o seu endereço IPv4 público quanto o IPv6 resolvem via PTR de volta para o seu hostname SMTP EHLO exato (por exemplo, mail.company.com). A falta de registros PTR IPv6 em hosts dual-stack é a causa nº 1 de rejeições 550-5.7.25.
Como funcionam as atualizações in-place quando o servidor já está em produção?
Execute curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- --update no Linux/macOS ou irm https://nextxch.com/install.ps1 | iex no Windows (ou use o atualizador com 1 clique em /admin/). Seu appsettings.Production.json, certificados TLS, chaves DKIM e armazenamento de e-mails são preservados automaticamente.