One POST call sends password resets, receipts and notifications through the Amazon SES account or SMTP server you already own. You keep your sending reputation and your per-email rate. We add what SES leaves out: stored message history, idempotent sends, signed webhooks and per-stream suppression, on the same platform as your marketing campaigns.
No complex SDKs. Bearer token auth. Works with any language or framework. Full API reference →
Copy-paste examples for the most common languages and frameworks.
curl -X POST https://mxa.aledamail.com/api/tx/v1/send \
-H "Authorization: Bearer tx_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"to": "user@example.com",
"from": "you@yourdomain.com",
"subject": "Your receipt #9001",
"html": "<p>Thanks for your order.</p>",
"idempotency_key": "order-9001"
}'
const res = await fetch("https://mxa.aledamail.com/api/tx/v1/send", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.ALEDAMAIL_TX_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
to: "user@example.com",
from: "you@yourdomain.com",
subject: "Your receipt #9001",
html: "<p>Thanks for your order.</p>",
idempotency_key: "order-9001",
}),
});
const data = await res.json(); // { status: "queued", message_id: "..." }
use Illuminate\Support\Facades\Http;
$res = Http::withToken(env('ALEDAMAIL_TX_KEY'))
->post('https://mxa.aledamail.com/api/tx/v1/send', [
'to' => 'user@example.com',
'from' => 'you@yourdomain.com',
'subject' => 'Your receipt #9001',
'html' => '<p>Thanks for your order.</p>',
'idempotency_key' => 'order-9001',
]);
$messageId = $res->json('message_id');
import os, requests
res = requests.post(
"https://mxa.aledamail.com/api/tx/v1/send",
headers={"Authorization": f"Bearer {os.environ['ALEDAMAIL_TX_KEY']}"},
json={
"to": "user@example.com",
"from": "you@yourdomain.com",
"subject": "Your receipt #9001",
"html": "<p>Thanks for your order.</p>",
"idempotency_key": "order-9001",
},
)
print(res.json()["message_id"])
Organize sends into streams — password-reset, receipts, alerts. Each stream gets its own API key for security and monitoring.
Every message body and delivery event stored and searchable. See exactly what went out and when — crucial for debugging.
Track engagement on transactional emails just like marketing campaigns. Know when receipts are opened or links are clicked.
Real-time delivery events pushed to your endpoint — delivered, opened, clicked, bounced, complained. HMAC-signed.
Per-stream suppression lists. Automatically suppress bounces and complaints before they damage your sender reputation.
Pass an idempotency key and we guarantee exactly-once delivery — even if your server retries. No duplicate receipts.
Store HTML templates server-side and reference them by ID. Update without deploying code.
One login for marketing campaigns and transactional sending. Shared contacts, shared deliverability infrastructure.
SES is cheap and reliable at around $0.10 per 1,000 emails, but it's bare infrastructure. Aledamail sits on top of your SES (or any SMTP) and adds the developer layer, while sending still runs on your own account.
| Feature | Raw Amazon SES | Aledamail + your SES |
|---|---|---|
| Send with one REST call + bearer token | ✗ AWS SDK / SigV4 signing | ✓ Yes |
| Message bodies stored & searchable | ✗ No | ✓ Always |
| Delivery webhooks | Manual SNS / EventBridge setup | ✓ Built in, HMAC-signed |
| Open & click tracking | Manual configuration sets | ✓ Built in |
| Idempotent sends | ✗ No | ✓ Yes |
| Bounce & complaint suppression | Account-level only | ✓ Per stream |
| Marketing campaigns on the same platform | ✗ No | ✓ Yes |
| Who owns the sending reputation | You | ✓ Still you |
| Cost | SES usage | SES usage + flat plan, free tier available |
A transactional email API lets your application send one-to-one emails triggered by user actions, like password resets, receipts, sign-up confirmations and alerts, with a single HTTP request. With Aledamail, one authenticated POST to /api/tx/v1/send queues the email and returns a message ID you can track.
Transactional emails are triggered by something the recipient did and are expected, so they need to arrive fast and reliably. Marketing emails are sent in bulk to lists. Aledamail handles both on one platform, and transactional sends are prioritised over campaign sends.
Yes. Aledamail sends through the Amazon SES account or SMTP server you connect, so you keep full control of your sending reputation and pay your provider directly. Most teams use Amazon SES. Setup guides for SES and SMTP are in the docs.
There is no hard rate limit. Transactional sends are processed immediately and prioritised over campaign sends. Bursts above 100 emails per second may be queued briefly to protect your sending reputation.
Yes. Every message body and delivery event is stored and searchable, so you can see exactly what was sent, to whom and when. That makes debugging and customer support much easier.
Pass an idempotency_key with each send. If the same key arrives again, Aledamail won't send a second copy, so retries never cause duplicate receipts or password resets.
Yes. Store HTML templates server-side and reference them with template_id in the API call, so you can change content without redeploying your app.
Bounces and complaints are suppressed automatically per stream, so you don't keep sending to bad addresses. Delivery events (delivered, opened, clicked, bounced, complained) are pushed to your endpoint through HMAC-signed webhooks.