Outboundly
A transactional email API in front of your own mail server — and everything that makes it actually deliver.
Your applications POST JSON and get an audited send. Behind that sits the operational work nobody wants to do by hand: domain ownership verification, DKIM key generation, ready-to-publish DNS records, mail-server map generation and reload, and TLS certificates that renew themselves.
Two bad options: hand your mail to a foreign service, or run Postfix by hand.
Hosted senders are easy but put every password reset, invoice and notification your customers receive through infrastructure in someone else's jurisdiction, priced per thousand. Running your own Postfix keeps the data but hands your team DKIM keys, DNS records, virtual maps, certificate renewals and a queue that occasionally backs up at three in the morning.
Keep your own mail server. Put a proper API and an operator console on top of it.
Against the alternatives
Capabilities
- A JSON send endpoint served under two version prefixes, with a build-failing test that stops a controller silently dropping off the older one
- Recipients, copies, subject, HTML body, attachments and reply-to, with per-mailbox defaults applied on every send
- Limits enforced in three independent layers: 20 recipients, 20 copies, 5 attachments, 10 MB each, 25 MB total — over the limit is a rejection, never a silent truncation
- No blind-copy request field, by design — a blind copy is a mailbox policy, not something a caller sets
- Delivery retried three times with exponential backoff; permanent failures are not retried
- Header injection defended by stripping line breaks from every header-bound value
- Ownership verified over TXT and MX independently, each tracked separately, with an administrator override enforced in the service
- DKIM key generation at 2048 bits, with signing tables maintained for you — the private key never enters the application or database
- Ready-to-publish SPF, DKIM, DMARC and MX records, presented in tabbed modals with per-field copy buttons
- A guided verification page including a panel of common DNS provider instructions
- Attachment types recognised by extension; filenames rejected if they carry path or shell characters
- API keys generated securely, stored only as a hash, shown in plaintext exactly once
- Revoked rather than deleted, so historical sends keep their audit trail intact
- Per-user, per-mailbox grants for primary, send and manage rights through a join table
- Mailbox passwords hashed in the format the mail server itself expects
- Certificates issued and renewed automatically, with both HTTP and DNS challenge types supported
- Renewal on a schedule, by default thirty days before expiry
- Every certificate records issue, expiry and renewal dates, serial, issuer, challenge type, last error and attempt count
- Map generation and reload — domains and mailboxes rendered from the database, compiled, validated and reloaded on demand or on a schedule
- Queue management: list and filter, hold, release, requeue or delete a message, singly or in bulk
- Queue statistics, per-directory counts, and summaries by sender and recipient
- Full message inspection — envelope, headers and body — for anything stuck
- Search the mail, error, warning and system logs, including rotated and compressed files, with live tail
- Configuration file editor confined to a directory allow-list, with templates, timestamped backups, validate, reload and restart
- Command-injection defences throughout: allow-listed commands validated at start-up, pattern-constrained identifiers and paths
- A row for every send attempt, written before the transport is asked, in its own transaction
- Records the key, application, mailbox, addresses, subject, counts, time, status, attempt count and error — never the message body
- Retention clamped to ninety days in code, logged when a larger value is requested
- Purge runs in bounded batches, deleting rows before files, then sweeping whole date directories
- An in-product API explorer with grouped operations, schema tables and a live try-it form
- Generated client code in eleven languages, including COBOL, Fortran and RPG, with twenty-five more samples on the public site
- An SMS queue with destination-prefix rules and an API for an external gateway to collect and report on messages
What it does
- 01An audited send API on top of your own Postfix — no hosted sender, no per-thousand pricing.
- 02Message bodies are never stored; retention is clamped to ninety days in code, not a setting.
- 03Client code generated in eleven languages, including COBOL, Fortran and RPG, for legacy estates.