Skip to content

Email through an API and SMTP, from your own domain

Sendora sends email for your system, such as receipts, sign-in links, notifications and newsletters.

Sendora can also receive email for your system. The service runs in Sweden. We review every account before it may send to real recipients. Meanwhile, you try it on a test server, which does everything but deliver.

You can sign up straight away or read the documentation first. The dashboard and the emails we send you are in Swedish for now.

Features

Every feature is included in the price.

The log

Every email is in the log, with the status for each recipient and the reply from the recipient's mail server. You can search by recipient, tag, status and time, in the dashboard or through the API.

Webhooks

Your system gets a call when something happens, for example when an email is delivered or bounces. The calls are signed with HMAC. If your system does not answer, Sendora tries again for about a day.

Suppression list

Addresses that do not exist and recipients who have complained go on a suppression list. Sendora then does not send to them again. You see the list in the dashboard and through the API.

Broadcasts

You can send the same email to many people who have asked for it, such as a newsletter. Broadcasts are sent from other IP addresses than transactional email. Someone who unsubscribes still gets their receipts.

Inbound email

You can receive email at an address at Sendora or on your own domain. Your system gets it with a webhook or fetches it through the API.

Test servers

A test server accepts email as usual but delivers nothing. It costs nothing and works before we have approved the account. With special test addresses you can try bounces, deferrals and complaints.

SSO and SCIM

The people in your organisation sign in with their usual account, for example in Microsoft Entra ID. It works with SAML and OpenID Connect. With SCIM, the identity provider adds new people and deactivates those who leave.

Integration

This is how you send email with the API. The sender address must be on a domain you have verified.

POST /v1/email
curl -X POST https://api.sendora.se/v1/email \
  -H "Authorization: Bearer $SENDORA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "from": {
    "email": "no-reply@example.se",
    "name": "Example AB"
  },
  "to": [
    "anna@example.com"
  ],
  "subject": "Your invoice for September",
  "text": "Hi Anna, your invoice is attached.",
  "tag": "invoice"
}'
npm install @sendora/sdk
import { Sendora } from '@sendora/sdk';

const sendora = new Sendora({
  token: process.env.SENDORA_API_TOKEN,
});

const { messageId } = await sendora.email.send({
  from: {
    email: 'no-reply@example.se',
    name: 'Example AB',
  },
  to: ['anna@example.com'],
  subject: 'Your invoice for September',
  text: 'Hi Anna, your invoice is attached.',
  tag: 'invoice',
});

console.log(messageId);
pip install sendora
import os

from sendora import Sendora

sendora = Sendora(os.environ["SENDORA_API_TOKEN"])

accepted = sendora.email.send(
    from_={
        "email": "no-reply@example.se",
        "name": "Example AB",
    },
    to=["anna@example.com"],
    subject="Your invoice for September",
    text="Hi Anna, your invoice is attached.",
    tag="invoice",
)

print(accepted.message_id)

The API answers with the email's id:

{
  "messageId": "228ff173-3955-441b-a00d-0351f43a75d0",
  "status": "accepted",
  "submittedAt": "2026-10-23T12:50:41.945Z",
  "test": true
}

You can also send through SMTP, with the same key and the same rules.

If you code with an AI assistant, it can read the documentation and use a test server through our MCP server.

The whole API is described in an OpenAPI document. For AI assistants, the documentation is also available as Markdown, in llms.txt.

The Quickstart guide takes you from a new account to your first email.

Then the log shows how it went for each recipient:

The message log on a test server after three sends
RecipientStatusReplyTime
anna@example.comdelivered250 2.0.0 Delivery simulated by Sendora; nothing was sent14:50:43
hardbounce@simulator.sendora.sebounced550 5.1.1 Hard bounce simulated by Sendora; nothing was sent14:50:41
deferred@simulator.sendora.sedeferred451 4.2.0 Deferral simulated by Sendora; nothing was sent14:50:39

Price

The monthly fee of SEK 149 includes 10,000 emails. After that, you pay per email, at the price per 1,000 that the table shows, for both transactional email and broadcasts. Inbound email costs the same.

Price per 1,000 emails

The price per 1,000 emails at each step
Emails per monthPer 1,000 emails
Up to 10,000included
10,001 to 50,000SEK 10
50,001 to 125,000SEK 8
125,001 to 300,000SEK 7
300,001 to 700,000SEK 5
Over 700,000SEK 4

What a month costs

What a month costs at five volumes
Emails per monthPer monthAverage per 1,000
10,000SEK 149SEK 15
50,000SEK 549SEK 11
100,000SEK 949SEK 9
300,000SEK 2,374SEK 8
1,000,000SEK 5,574SEK 6

Work out what your volume costs on the pricing page.

Agreements and data protection

Where the data is
In Sweden, where the service runs and the encrypted backups are kept.
How long email is kept
An email's text and HTML are kept for 30 days after it was sent. The log, with recipients and events, is kept for 13 months.
Erasure on request
If someone asks you to erase their data, you do it with a call to the API. The data is then erased from all of the account's servers.
Sign-in
People can sign in with SSO, through your organisation's own identity provider. With SCIM, anyone who leaves is deactivated.
Data processing agreement
Part of the agreement, and in force from when the account is created.
Payment and cancellation
Every account pays by card for now. The agreement runs one month at a time, and you can cancel it with effect from the end of the period.

Contact

Write to support@sendora.se in Swedish or English. Report abuse to abuse@sendora.se.