Skip to content
Transactional email on Amazon SES

Transactional email you can actually debug.

A transactional email API and SMTP relay built on Amazon SES. Get per-message debug logs — down to the SMTP conversation — plus stable published pricing, a warn-before-block suspension policy, and the deliverability tooling to actually land in the inbox.

3,000 emails/month free, no credit card required.

send.tsts
import { Mailfully } from "@mailfully/node";

const mailfully = new Mailfully({
  apiKey: process.env.MAILFULLY_API_KEY ?? "", // never hard-code your key
});

const { data, error } = await mailfully.emails.send({
  from: "you@yourdomain.com",
  to: "customer@example.com",
  subject: "Welcome aboard",
  html: "<p>Thanks for signing up!</p>",
});

if (error) {
  // No method ever throws — failures arrive on the error arm.
  console.error(`Send failed (${error.statusCode}):`, error.message);
} else {
  console.log("Queued email id:", data.id);
}

The official @mailfully/node SDK. No method ever throws.

The bets we are making

Every transactional email provider sends mail. We are differentiating on the parts that actually hurt: visibility, billing trust, fair enforcement, and deliverability.

Per-message debug logs

Every message keeps its full timeline — accepted, the raw SES message ID, deliveries, opens, bounces, complaints — plus the actual SMTP conversation and provider response. When a send misbehaves, you see exactly what happened instead of guessing.

Price stability

Published per-tier pricing with a fixed overage rate per 1,000 emails. No surprise reclassification, no quiet mid-contract repricing. The numbers on our pricing page are the numbers you pay.

No silent suspension

We warn before we block. If your reputation or volume trips a policy, you get a notice and a window to respond — with a written appeal SLA — not an account that just stops sending overnight.

Deliverability tooling

Dedicated, shared, and warm-up IP pools on SES, guided DKIM/SPF/DMARC alignment, reputation monitoring, and first-class suppression handling — the tooling you need to actually land in the inbox.

Idiomatic SDK

The official @mailfully/node client wraps fetch with a typed { data, error } tuple — no method ever throws. Idempotency keys, camelCase inputs mapped to the wire format, and full TypeScript types.

Built on Amazon SES

The proven SES sending substrate, with the operational layer — logs, billing, suppression, abuse handling, a dashboard and an SMTP relay — built on top so you do not have to assemble it yourself.

Send your first email in five minutes.

Install the SDK, verify a domain, and ship. Migrating from Resend, Postmark, or Mailgun? The API and SDK are designed for a quick cutover.