Email delivery
that stays in Europe
Send transactional emails without data leaving Europe. Direct SMTP delivery, DKIM signing, bounce handling, and real-time webhooks, all from Finland.
curl -X POST https://api.euromail.dev/v1/emails \
-H "X-EuroMail-Api-Key: em_live_..." \
-H "Content-Type: application/json" \
-d '{
"from": "[email protected]",
"to": "[email protected]",
"subject": "Welcome aboard",
"html_body": "<h1>Hello!</h1>"
}'
Host smtp.euromail.dev
Port 587 STARTTLS · 465 TLS
Username apikey
Password em_live_...
# Point any SMTP client at EuroMail: WordPress, PHP mail(),
# printers, cron. Setup → /docs/guides/smtp-sending/
import { EuroMail } from "@euromail/sdk";
const euromail = new EuroMail({
apiKey: "em_live_..."
});
await euromail.sendEmail({
from: "[email protected]",
to: "[email protected]",
subject: "Welcome aboard",
html_body: "<h1>Hello!</h1>",
});
from euromail import EuroMail
client = EuroMail(api_key="em_live_...")
client.send_email(
from_address="[email protected]",
to="[email protected]",
subject="Welcome aboard",
html_body="<h1>Hello!</h1>",
)
use euromail::{EuroMail, SendEmailParams};
let client = EuroMail::new("em_live_...");
client.send_email(&SendEmailParams {
from: "[email protected]".into(),
to: "[email protected]".into(),
subject: Some("Welcome aboard".into()),
html_body: Some("<h1>Hello!</h1>".into()),
..Default::default()
}).await?;
import "github.com/kalle-works/euromail-go"
client := euromail.New("em_live_...")
_, err := client.SendEmail(ctx, &euromail.SendEmailParams{
From: "[email protected]",
To: "[email protected]",
Subject: "Welcome aboard",
HtmlBody: "<h1>Hello!</h1>",
})
Everything you need to send email
A Rust SMTP engine, GDPR tooling, and deliverability infrastructure, run entirely from Finland.
Your data stays in Finland
Email content, logs, and analytics are processed and stored exclusively on servers in Finland. Nothing leaves the EU, no US subprocessors, no transatlantic transfers. A signed DPA is included on every plan.
See data policy → For EU-regulated companies →- Region
- eu-north · Helsinki
- Storage
- Hetzner hel1
- Transfers outside EU
- None
- DPA
- Included, Art. 28 GDPR
Delivery without middlemen
A custom Rust SMTP engine delivers straight to recipient mail servers, no third-party relay. DKIM signing, SPF alignment, and DMARC policies are automatic, and new sending IPs warm up over 30 days to build reputation with ISPs.
How delivery works →→ MAIL FROM:<[email protected]>
← 250 2.1.0 Ok
→ DATA DKIM-Signature: pass
← 250 2.0.0 queued
delivered in 1.2s
Know the moment it lands
Delivery, bounce, and complaint events reach your endpoint within seconds, signed with HMAC-SHA256. VERP return-paths track every bounce precisely, and hard bounces are suppressed automatically.
See webhook events →{
"event": "delivered",
"to": "[email protected]",
"smtp_response": "250 2.0.0 Ok"
}
Compliance, built in
Account data export, deletion, and audit logging are part of the product, not an enterprise add-on. Data retention runs automatically, and the DPA is ready to sign from day one.
GDPR compliance →- Data export
- API + dashboard
- Deletion
- Self-serve
- Audit log
- Every account action
- Retention
- Automatic
Give agents an inbox, not a webhook
AI agents get their own address on your domain, long-poll for the next message, and ack or nack when done. At-least-once delivery via a lease queue means a crashed agent never silently drops a customer's email, no MIME parsing, no OAuth, no deliverability setup.
How agent mailboxes work → For AI agent builders →GET /v1/agent-mailboxes/{id}/messages/next
{
"data": { "from_header": "Alice <[email protected]>" },
"lease_token": "b9f2d1c0-...",
"lease_expires_at": "+5m"
}
-
Templates
MiniJinja templates with variables and versioning, managed via API or dashboard.
-
Domain verification
Automated DNS checks for SPF, DKIM, and DMARC with step-by-step setup guides.
-
Bounce & feedback loops
VERP bounce tracking and ARF complaint parsing with automatic suppression.
-
IP warm-up
New sending IPs ramp up over 30 days across 6 volume tiers.
-
Dashboard
Domains, templates, webhooks, API keys, billing, and live delivery status in one place.
-
Newsletters & signup forms
Hosted signup forms with double opt-in; compose and send to your contact lists.
-
Scheduled sending
Set a send time up to 30 days ahead, and cancel with a quota refund any time before it fires.
-
Email validation
Syntax, disposable-domain, and MX checks in a single request. Clean lists before you send.
-
DMARC monitoring
Aggregate reports from Google, Yahoo, and Microsoft parsed and tracked per domain automatically.
-
Deliverability insights
A reputation score and automated findings across delivery, bounce, and complaint rates each week.
-
Sub-accounts
Isolated child accounts with their own domains and API keys, drawing from a shared quota, on Business and Enterprise plans.
Developer-first API
RESTful API with OpenAPI docs, official SDKs, and comprehensive endpoint coverage.
Emails
Domains
Newsletters
Official SDKs
npm install @euromail/sdk
pip install euromail
cargo add euromail
go get github.com/kalle-works/euromail-go
Transparent pricing
Start free with 1,000 emails/month. Scale as you grow. No hidden fees.
Free
- 1,000 emails / month
- 1 domain
- 5 templates
- 2 webhooks
- Newsletters & signup forms
- Community support
Starter
- 25,000 emails / month
- 5 domains
- 50 templates
- 10 webhooks
- Newsletters & signup forms
- Email support
Business
- 100,000 emails / month
- 20 domains
- 200 templates
- 50 webhooks
- Newsletters & signup forms
- Priority support
Enterprise
- 500,000 emails / month
- Unlimited domains
- Unlimited templates
- Unlimited webhooks
- Newsletters & signup forms
- Dedicated support & SLA
Start sending in minutes
Create a free account, verify your domain, and send your first email. No credit card required.