NewTruo Deploy and DBaaS PostgreSQL, live in the TruoCloud panelSee the catalog
Mail Gateway · at mg.truo.cloud

Mail Gateway

transactional email over API and SMTP

Send invoices, password resets and notifications from your application with an HTTP API or over SMTP, signed with your own domain. No mail server to run, no IP reputation to nurse, and no brand other than yours in front of your customers.

$ curl -X POST https://mg.truo.cloud/v1/emails \
  -H "Authorization: Bearer mg_live_••••••••" -d '{"from":"invoices@yourdomain.com","to":["ana@customer.com"],"subject":"Your invoice"}'
✓ accepted · delivery event in your panel

HTTP API

POST /v1/emails

One endpoint, your API key as Bearer and a JSON body. Every send responds with the message id.

SMTP

smtp.mg.truo.cloud:465

Your own username and password per service, over SMTPS. Port 465 only in this first version.

YOUR OWN DKIM

BYODKIM, selector mg

We generate the key and encrypt it at rest: you sign with your domain, not ours.

EVENTS

Accepted, delivered, bounced

Every send event is recorded and feeds the same history we use to bill you.

TWO LANES, ONE ACCOUNT

Send over API or over SMTP

The API lane is one HTTP call with your API key. The SMTP lane gives you your own username and password to point any existing framework or mail server at. Both share domains and billing.

API lane (HTTP)

mg.truo.cloud/v1/emails

POST https://mg.truo.cloud/v1/emails
Authorization: Bearer mg_live_••••••••
{ from, to, subject, html }

  • Bearer auth with your API key and a JSON body: from, to, subject and html or text.
  • The sender domain (from) must be verified on your account before you can send.
  • Rate limiting per API key, meant to stop abuse, not your application's normal traffic.

SMTP lane (SMTPS 465)

smtp.mg.truo.cloud:465

host: smtp.mg.truo.cloud
port: 465, secure: true
auth: { user, pass }

  • Your own username and password per service, manageable from the TruoCloud panel.
  • Port 465 with TLS on connect only (SMTPS); no 587 in this first version.
  • SMTP sends land in the same log and the same invoice as the API ones.
LaravelDjangoRailsNodemailerSymfony MailerWordPress SMTPPostfix
WHITE-LABEL

Your domain signs the mail, not ours

We generate your DKIM key and you publish a single TXT under the mg selector. SPF, MAIL FROM and DMARC point at TruoCloud domains: nothing in your DNS reveals the delivery engine.

BYODKIM

we generate the DKIM key, encrypted at rest

Selector mg

the TXT is published under your own selector, not a shared one

0

mentions of the delivery provider in your DNS

Your own button

re-verify the domain whenever you want, from the panel

Your domain's DNS records

yourdomain.com
TypeHostValueStatus
TXTmg._domainkey.yourdomain.comv=DKIM1; k=rsa; p=MIIBIjANBg…Verified
TXTyourdomain.comv=spf1 include:spf.mg.truo.cloud ~allPending
MXbounces.yourdomain.com10 feedback.mg.truo.cloudVerified
TXTbounces.yourdomain.comv=spf1 include:spf.mg.truo.cloud -allPending
TXT_dmarc.yourdomain.comv=DMARC1; p=quarantine; rua=mailto:…Pending

DKIM selector: mg · MAIL FROM: bounces.yourdomain.com
polling verification, with a button to re-check whenever you want

OBSERVABILITY

Every message, with its history

The send lifecycle is recorded whether it came over API or SMTP: accepted, delivered, bounced or complained, all in the same place.

  • Per-message log

    Recipient, subject, domain and status, for API and SMTP sends in the same history.

  • Events over webhook

    Delivery, bounce and complaint arrive via Configuration Set and feed the same data we bill from.

  • Per-service isolation

    Each service gets its own Configuration Set: a suspension doesn't touch your other domains.

  • Automatic cutoffs

    On abuse or an exceeded quota, sending is cut within seconds, before it damages your reputation.

Sample send log

RecipientSubjectViaStatus
ana@customer.comYour July invoiceAPIDelivered
support@yourdomain.comNew ticket #4821SMTPDelivered
pedro@mail.comReset your passwordAPISent
old@domain.comOrder confirmationAPIBounced
team@yourdomain.comWeekly summarySMTPSent

an illustrative view of the log you'll see in the panel, by domain and recipient

PRICING

Simple pricing, pay by volume

You pay for the plan and, if you go over, only the overage. No free plan for now.

Dev

$5.99/mo

10,000 emails/mo

Overage $1.00 / 1,000

No domain limit

  • API and SMTP included
  • Your own DKIM key (BYODKIM)
  • Full event log
  • Guided DNS wizard
Most popular

Startup

$18.99/mo

50,000 emails/mo

Overage $0.75 / 1,000

No domain limit

  • API and SMTP included
  • Your own DKIM key (BYODKIM)
  • Full event log
  • Guided DNS wizard

Business

$49.99/mo

200,000 emails/mo

Overage $0.45 / 1,000

No domain limit

  • API and SMTP included
  • Your own DKIM key (BYODKIM)
  • Full event log
  • Guided DNS wizard

Scale

$199.99/mo

1,000,000 emails/mo

Overage $0.30 / 1,000

No domain limit

  • API and SMTP included
  • Your own DKIM key (BYODKIM)
  • Full event log
  • Guided DNS wizard

More than a million emails a month? We'll build the plan with you. Contact

Prices in USD, billed monthly from the TruoCloud panel. Overage is billed per additional 1,000 emails above the plan's quota.

SPEC SHEET

Specifications

API endpointhttps://mg.truo.cloud/v1/emails
SMTP endpointsmtp.mg.truo.cloud:465 (SMTPS, TLS on connect)
Delivery engineAWS SES: IP reputation and warming are handled by AWS
API authBearer with your API key, per service
SMTP authyour own username and password per service, from the panel
Ports465 only in this version, no STARTTLS on 587
Message sizeup to 40 MB (delivery engine limit)
Domain authenticationyour own DKIM (selector mg) + SPF + DMARC + MAIL FROM on bounces.<your domain>
Eventsaccepted, delivered, bounced and complaint, via webhook
Isolationper-service credentials and Configuration Set
Anti-abusesending cut within seconds on abuse or exceeded quota
Price$5.99 / $18.99 / $49.99 / $199.99 per month by volume, plus overage

USE CASES

What transactional email is for

01

Invoices and receipts

Documents that can't land in spam, signed with your own domain.

02

Password resets and verification

One-time codes and links sent straight from your application.

03

Product notifications

Alerts and notices from your SaaS or backend, without running your own mail server.

04

Apps that already speak SMTP

WordPress, Laravel or an existing mail server: you change host and credentials, not the code.

LIMITS TO KEEP IN MIND

Port 465 only, with TLS on connect: if your framework defaults to 587, you'll need to change it. Messages up to 40 MB. This is transactional email, not bulk sending or mailboxes: if you're after mailboxes with calendar and files, that's Business Email. Corporate Email

Frequently asked questions

Your first email, today.