Documentation

Secure Message documentation

Everything needed to deploy, verify and operate the gateway on your own infrastructure.

Secure Message is a self-hosted mail security gateway. It sits in front of your existing mail server, filters inbound mail, and delivers outbound messages that match your policy through an encrypted recipient portal instead of as plain email. Your mail server, mailboxes and clients do not change.

What you are deploying

One Debian host running Postfix, a content filter, PostgreSQL, and three web applications behind nginx. It is a single-node appliance: there is no external dependency to operate it, no cloud component in the mail path, and no message content leaves your infrastructure unless you explicitly enable a hosted AI provider.

FactValue
Supported OSDebian 13 “Trixie”
Install methodsudo ./install.sh — native systemd services
Inbound ports required25 (SMTP), 80 and 443 (portal, console, certificate issuance)
Outbound requiredTCP 25 to arbitrary MX, TCP 443, DNS
DatabasePostgreSQL on 127.0.0.1, created by the installer
Encryption at restFernet (AES-128-CBC + HMAC-SHA256), key held only on your host
Licence bindingOne licence key per appliance, bound to its node ID

Sizing. Start at 2 vCPU and 4 GB RAM. If you enable anti-malware scanning, budget roughly 2 GB of that for ClamAV’s signature database alone, and expect the first signature download to pull several hundred megabytes.

Start here

How licensing works

A licence key embeds the node ID of the appliance it is issued for, so it cannot be created before the software is installed. Issuance is therefore two steps, and the order matters:

  1. Request a licence at Get started. You receive an activation code by email — not yet a key.
  2. Install the gateway. It derives and displays its node ID.
  3. Enter the code and node ID at Activate to receive the licence key, then apply it under System → License.

Re-submitting the same code and node ID is safe: it returns the existing key and does not consume another seat.

You do not need a licence to evaluate the product. With no key applied the gateway runs in the Community tier — 25 users, 2 administrators, and spam filtering, DNSBL, the web firewall, the log viewer and administrator MFA. A key raises those limits and unlocks the higher tiers’ features.

If something goes wrong

Two commands answer most questions, and both are safe to run at any time:

# Services, database, secrets and web endpoints
sudo /opt/securemail/scripts/smoke_test.sh

# End-to-end readiness: DNS, reverse DNS, ports, TLS, mail records
sudo /opt/securemail/venv/bin/python /opt/securemail/scripts/preflight.py

The same preflight checks are rendered in the console under Diagnostics. Beyond that, the content filter logs to /var/log/securemail/filter.log and Postfix to /var/log/mail.log. Still stuck? support@secure-message.io.