Send transactional email from your infrastructure, or ours in the EU.
One console for your organisation: validated domains, senders, TLS policies and API keys. Outbound mail leaves through a node you run yourself, or through our shared nodes hosted in the European Union.
- REST API and SMTP relay
- SPF, DKIM and DMARC checked before sending
- Own node or shared nodes, per organisation
0
Message bodies stored by us when you run your own node
EU
Console and every shared node hosted inside the Union
3
DNS checks per domain: SPF, DKIM, DMARC
2
Ways to send: REST API and SMTP relay
The console
Everything an organisation needs to send, in one place
Built around the objects your team already thinks in: organisations, domains, senders, policies, keys and nodes. No hidden settings, nothing to configure by ticket.
01 · Organisations
One org, many members
Invite your team by email, assign roles and switch between the organisations you belong to. Signup is by invitation only.
02 · Domains
Validated before the first send
Add a domain, copy the SPF, DKIM and DMARC records, and watch each check turn green. Nothing sends until the domain passes.
03 · Senders & aliases
Addresses with their own credentials
Create senders per product or team, add aliases, and issue SMTP credentials that are shown once and can be rotated any time.
04 · TLS policies
Encryption, enforced per destination
Start from a preset or set opportunistic, required or DANE-verified TLS for specific recipient domains.
05 · Messages
Every message, traceable
Search the log by recipient, sender or ID and open a message to follow it from queued to sending, sent or failed, with the node that handled it and its own log lines.
06 · Nodes
Register a node with one token
Create a node in the console, run it on your infrastructure with the one-time token, and see it report in. Or switch to shared nodes and skip the step.
Two ways to send
Same console, same API. You choose where the mail leaves from.
A node on your own infrastructure
Create the node in the console, run it with the one-time token, and every message is submitted to it over STARTTLS and delivered from your IPs. If all your nodes are down, messages retry and fail rather than silently leaving through shared infrastructure.
| Property | Your own node |
|---|---|
| Runs on | Your server, VM or cluster |
| Sending IPs | Yours — your reputation, your ranges |
| Routing | Your own healthy nodes, round-robin; never the shared fleet |
| Registration | One-time node token from the console |
| Health | Node polls for config; healthy if seen in the last 10 minutes |
| Best for | Regulated data, existing mail infrastructure |
Developers
Scoped API keys and an SMTP relay that speak the same language
Issue API keys per environment with only the scopes they need, read the OpenAPI spec inside the console, and choose per organisation whether mail leaves through your own node or a shared one.
- OpenAPI spec, browsable in the console
- Keys with abilities, optionally pinned to one sender; shown once, revocable
- Up to 50 recipients and 25 custom headers per message
- Status and event timeline per message, linked to the node’s own logs
POST /api/v1/messages
Authorization: Bearer <api key, shown once>
Content-Type: application/json
{
"from": "alerts@acme.eu",
"to": ["ana@customer.ro"],
"subject": "Your weekly report",
"text": "Plain-text body.",
"html": "<p>HTML body.</p>",
"headers": { "X-Campaign": "weekly-report" }
}
HTTP/1.1 202 Accepted
{ "data": { "uuid": "9c1f6f7e-…", "status": "queued",
"node_id": null, "queue_id": null } }
GET /api/v1/messages/{uuid} → queued · sending · sent · failed
GET /api/v1/messages/{uuid}/events → timeline incl. node log lines# Sender credentials are issued in the console (shown once)
# and provisioned to your node's SASL table automatically.
host <your node's smtp_endpoint>
port 587 (STARTTLS)
user alerts@acme.eu
password <sender credential>
$ swaks --to ana@customer.ro --from alerts@acme.eu \
--server node-1.acme.eu:587 --tls \
--auth-user alerts@acme.eu
<- 250 2.0.0 Ok: queued as 4F2A1B9C3DAvailable models
Two ways to run it, both available today
Both models include the full console: organisations, domains, senders, TLS policies, API keys and the Messages log. Pricing is agreed during onboarding.
Shared nodes
Send today through nodes we run in the European Union.
- Shared EU nodes with managed, warmed IPs
- Unlimited domains and senders
- Messages log with per-node status
- Nothing to install
Own node
Run the sending node on your own infrastructure.
- Your IPs, your queue, your logs
- Registered with a one-time token
- Signed releases, you choose the update window
- No message content processed by us
Node mode is set per organisation and can be changed later without touching your integration.
Compliance
Data stays in the jurisdiction you choose
With your own node, message bodies, recipients and logs never leave your infrastructure. Shared nodes run on EU infrastructure only, and every action in the console is attributable to a member and an API key.
GDPR
Processor agreement at onboarding. With your own node we process no message content at all.
EU hosting
Console and shared nodes hosted in the EU. No processing outside the Union.
Credentials shown once
API keys, SMTP credentials and node tokens are displayed a single time and stored hashed.
TLS by policy
Per-destination TLS policies decide how each message is encrypted in transit.
What exactly runs on my infrastructure with an own node?
A Postfix-based sending node you register with a one-time token from the console. It polls the console for its configuration, signs (DKIM) and delivers messages from your IPs, and ships its log lines back so each message shows its delivery timeline. It needs a reachable SMTP endpoint or a plain IP.
Can I mix own and shared nodes?
Yes. Node mode is set per organisation. In shared mode your own healthy nodes are always tried first and the shared fleet is only a fallback. In self-hosted mode the shared fleet is never used, even if all your nodes are down.
Do I need to change my application code to switch modes?
No. Domains, senders and API keys are the same in both modes, and the API request is identical. Where mail leaves from is an organisation setting.
How do you handle deliverability on shared nodes?
Shared IPs are warmed and monitored by us. Domains must pass SPF, DKIM and DMARC checks before sending, which keeps the pool reputation healthy for everyone.
Where is the console hosted?
In the European Union, along with all shared nodes. No data is processed outside the EU.
Why is signup invitation-only?
We onboard organisations one at a time so that domains are set up correctly and the shared pool stays clean. Request access and we will send an invitation to your organisation.
Ready to send from where you decide?
Tell us about your domains and monthly volume. We set up your organisation and send an invitation, usually within one working day.