Email (SMTP)

A host, a port, and email that lands.

Send transactional email over plain SMTP from any language or framework. Cosmoner generates the DKIM keys, hands you the DNS records, and enforces the sender address on every message.

  • 587 standard SMTP port
  • 3 DNS records, generated
  • from USD 0 pay as you go
  • 750K emails / month at the top
smtp.cosmoner.com : 587ACTIVE
const transporter = nodemailer.createTransport({  host: "smtp.cosmoner.com",  port: 587,  auth: {    user: "smtp_abc123",    pass: process.env.SMTP_PASSWORD,  },});
  • TXT datablock._domainkeyDKIM ✓
  • TXT acme.comSPF ✓
  • TXT _dmarc.acme.comDMARC ✓

PROTOCOL

SMTPport 587

Works with any client library

AUTHENTICATION

All three

SPF, DKIM, and DMARC configured

ENTRY PLAN

USD 1/ 1,000 emails

Pay as you go on Free

CEILINGS

3

Monthly quota, daily and hourly guards

Domain to first send

Three steps, none of them DNS guesswork

The hard part of transactional email is authentication, and it is the part most likely to be got subtly wrong. Cosmoner generates the records rather than documenting them.

  1. 01

    Enable email on a domain

    Pick a domain in your project. Cosmoner generates the DKIM keys and hands you the three DNS records to publish.

  2. 02

    Publish the records and verify

    Add the DKIM, SPF, and DMARC records, then run verification. The domain goes active as soon as they resolve.

  3. 03

    Create a credential and send

    Each credential is tied to one sender address. Point any SMTP client at smtp.cosmoner.com on port 587 and you are sending.

What the relay handles

Familiar on your side, managed on ours

Your application speaks the SMTP it already knows. Everything that decides whether the message reaches an inbox is Cosmoner's problem.

Plain SMTP, any language

A host, a port, a username, and a password. Nodemailer, ActionMailer, PHPMailer, or whatever your framework already ships with works unchanged.

smtp.cosmoner.com : 587

DNS records generated for you

Enabling email on a domain generates its DKIM keys and returns the exact SPF, DKIM, and DMARC records to publish. Nothing to compose by hand.

SPF · DKIM · DMARC

One credential per sender

Each credential carries its own from address, and the relay enforces it on every message. A leaked key cannot start sending as somebody else.

From header is enforced

Ceilings that act as guards

A monthly quota with rolling daily and hourly limits. Hourly and daily pauses lift on their own as the window drains, and the biller is emailed when sending pauses.

Monthly · daily · hourly

Delivery metrics built in

Delivery rates, bounces, complaints, and send volume in the control panel, so tracking email health does not need a third-party tool.

No extra service

Authenticated, so it lands

Full SPF, DKIM, and DMARC alignment out of the box, with managed IP reputation, bounce handling, and complaint feedback loops behind it.

Managed reputation

One credential, one sender

The From header is not up to the caller

A credential is created with a from address, and the relay rewrites every message to use it. That makes a credential a sender identity rather than just a password.

  • Create one credential per sender — noreply, billing, support — and label them after what uses them.
  • A leaked credential cannot be repurposed to send as a different address on your domain.
  • Credentials are listed and deleted independently, so retiring one service does not touch the others.
  • The username and password are returned when the credential is created — store them where your app reads its config.
POST /v1/projects/:projectId/email/:emailDomainId/credentials201
{  "label": "Transactional",  "fromAddress": "[email protected]"}
# every message from this credential sends asFrom: [email protected]# whatever the client put there

Plans and send limits

A quota, and two guards under it

Every plan sets three ceilings: a monthly quota plus rolling daily and hourly limits that stop a runaway loop from spending the month in an afternoon.

Free
USD 1 / 1,000 emails
1,000 per month · 100 per day · 50 per hour. Pay as you go within those allowances.
Pro
USD 20 / month
50,000 per month · 5,000 per day · 1,000 per hour. Quota included, no per-email charge.
Scale
USD 60 / month
200,000 per month · 20,000 per day · 4,000 per hour.
Business
USD 150 / month
750,000 per month · 75,000 per day · 15,000 per hour.

Free is pay-as-you-go within its allowances. Paid plans are a flat monthly price with the quota included and no per-email charge. A higher limit can be requested on any plan.

One project

What it plugs into

Email is enabled on a domain in your project and consumed by the apps in it, which is why neither step needs credentials copied between accounts.

Questions worth answering up front

Setup, credentials, and send limits are covered step by step in the SMTP guide.

What do I need before sending?
A project with an active subscription and a domain in it — purchased through Cosmoner or migrated here. Email is enabled per domain, not per project.
How long does DNS verification take?
Usually minutes, though propagation can take up to 48 hours. Verification is something you trigger, so you can retry as the records appear rather than waiting on a schedule.
Can one credential send as several addresses?
No, and deliberately so. The relay replaces the message's From header with the credential's configured address, so create a separate credential for each sender you need.
What happens when I hit a limit?
Sending pauses and the biller is emailed. Hourly and daily pauses lift on their own once the rolling window drains; a spent monthly quota holds until the next period, or until you upgrade, which starts a fresh allowance immediately.
Can I get a higher limit without changing plan?
Yes — you can request an increase, which the Cosmoner team reviews. You are notified when the request is approved or rejected.
Which plan should I be on?
Free is pay-as-you-go and suits low volume. Paid plans replace the per-email charge with a flat monthly price and a much larger quota, so they pay off well before you exhaust the free tier's ceilings.

When sending pauses

A pause, not a silent drop

Exceeding any ceiling stops sending rather than degrading quietly, and the biller is emailed so somebody knows before customers do.

Hourly

A burst guard. The pause lifts on its own as the rolling window drains, with no action needed from you.

Daily

The same mechanism over a longer window — a bad deploy costs you a delay, not the month's quota.

Monthly

A spent quota holds until the next period begins, or until you upgrade — which starts a fresh allowance immediately.

Ready to get started?

Create your free account and deploy your first project in minutes.