Shared SES

Shared SES

SendFleet's managed sending path. Verify your account email, pick a Managed plan, add a sending domain, and complete its DNS verification. Email logs, delivery webhooks, and bounce and complaint handling are all included.

How it works

On this path your email is delivered by SendFleet's own sending infrastructure. We register your domain, process delivery and bounce notifications, suppress addresses that have proven undeliverable, and monitor for abuse. Because we handle delivery, your dashboard shows full email logs and your endpoints receive delivery webhooks.

Suppression is scoped per account, so one sender's bad addresses never block another sender's legitimate mail to the same person. Overall reputation on the shared path is still collective, which is why the deliverability monitoring below is enforced.

What's included

Managed plan features
FeatureManaged StarterManaged GrowthManaged Pro
Price$5 / mo$15 / mo$59 / mo
Monthly emails5,00025,000100,000
Email log history14 days14 days14 days
Bounce & complaint handlingAutomaticAutomaticAutomatic
Delivery webhooksYesYesYes
Suppression handlingManagedManagedManaged
Deliverability monitoringYesYesYes
SupportPriority emailPriority emailPriority email

Setup steps

  1. Verify your account email

    Check your inbox for the verification link sent at sign-up. Sending stays blocked on every plan until this is done.
  2. Subscribe to a Managed plan

    Go to Dashboard → Billing and choose Managed Starter ($5/mo), Managed Growth ($15/mo), or Managed Pro ($59/mo). Access is granted as soon as the subscription is active.
  3. Add a Shared SES domain

    Go to Dashboard → Domains → Add Shared SES domain and enter your root domain, for example acme.com. We register the identity and show you the DNS records to publish.
  4. Add the DNS records

    Publish the records shown on the domain detail page. At minimum you need both ownership TXT records and all three DKIM CNAMEs before you can send. Full detail in the DNS Records guide.
    Minimum required records
    TXT   _amazonses.acme.com                 <verification_token>
    TXT   _sendfleet.acme.com                 sendfleet-verification=<value>
    CNAME <token1>._domainkey.acme.com        <token1>.dkim.amazonses.com
    CNAME <token2>._domainkey.acme.com        <token2>.dkim.amazonses.com
    CNAME <token3>._domainkey.acme.com        <token3>.dkim.amazonses.com
  5. Verify and send

    Once DNS has propagated, usually minutes, up to 48 hours at worst, choose Verify ownership, then Verify DKIM. Both must pass before sending is enabled. Then generate an API key and make your first request.

Email logs

Every send on this path is logged in your dashboard with sender, recipient, subject, current status, and event timestamps. Logs are retained for 14 days and then deleted.

A message moves through pending on acceptance, then to sent once the delivery platform accepts it, and finally to a terminal status: delivered, bounced, complained, rejected, suppressed, or failed.

Bounce and complaint handling

Delivery events are processed automatically and reflected in your logs, your counters, and your webhooks.

How each delivery event is handled
EventWhat happens
Delivery confirmedThe log status becomes delivered and an email.delivered webhook fires.
Hard bounce (permanent)The log status becomes bounced, an email.bounced webhook fires, and your bounce counter increases. The address is added to suppression, so later sends to it resolve as suppressed.
Soft bounce (transient)Recorded as a bounce event. The address is not suppressed, soft bounces are temporary conditions such as a full mailbox, and SES may retry on its own.
Complaint (marked as spam)The log status becomes complained, an email.complained webhook fires, and your complaint counter increases. The address is suppressed.
Send to a suppressed addressThe request is accepted with a 200, then resolves to suppressed with an email.suppressed webhook. No delivery is attempted, and it does not count towards your bounce rate.
RejectedThe message was declined before any delivery attempt. Status rejected, with an email.rejected webhook carrying the reason.
DelayedDelivery is taking longer than usual but has not failed. An email.delayed webhook fires; the status is left unchanged because the message may still arrive.

Deliverability warnings on send

Successful responses on this path may carry a warnings array. These never block delivery. Each deliverability warning below describes a DNS gap that measurably lowers inbox placement.

Deliverability warnings
WarningFix
MAIL FROM not verifiedBounce handling falls back to a shared default and your Return-Path will not align with your domain. Add the MX and SPF records for send.yourdomain.com, see DNS Records.
DMARC record not foundAdd v=DMARC1; p=none; as a TXT record on _dmarc.yourdomain.com, then tighten the policy once you have reviewed the reports.

Free plan: the Shared smoke test

Free BYOC can also send through Shared SES, to your own verified account address and nowhere else. It exists so you can check a request end to end through SendFleet's infrastructure before you set up AWS or pick a plan. It is a smoke test, not a sending path.

What the free plan's Shared smoke test allows
RuleWhat it means
One recipientThe email address you signed up with, exactly. Any other address, or any cc or bcc, is refused with 403 unauthorized. More than one address in to returns 403 recipient_limit_exceeded. Nothing is queued.
No redirectionreply_to may only be empty, your own address, or the sender address. from_name may not contain an address, line breaks, or the characters < > @ , ; ", and subject may not contain line breaks. Anything else is refused with 403 unauthorized.
One Shared domainVerified the same way as on a Managed plan, using the setup steps above.
Same allowanceSmoke tests count towards Free BYOC's 3,000 emails a month, together with your BYOC sends. One counter, whichever path the send takes.
Email logSmoke-test sends appear in your email log for 14 days, content included, because this is Shared SES.
No webhooksNo webhook fires for a smoke test, even if your account has endpoints left over from a previous Managed plan.
BYOC sendingUnaffected. Your BYOC sending on the free plan still sends to anyone.
Spam reportsZero tolerance. A smoke test only ever reaches your own inbox, so marking one as spam is reporting your own mail: the first spam complaint on a smoke test permanently suspends the account, with no warning and no temporary pause first. Delete a smoke test you no longer want; do not report it.

A successful smoke test returns an ordinary 200 with an entry in warnings saying what it was:

200 OK: free plan Shared smoke test
{
  "success": true,
  "message": "Email queued for delivery.",
  "message_id": "…",
  "mode": "shared",
  "warnings": [
    "Free plan Shared smoke test: delivered only to your own verified address, no webhooks fired. To send to anyone else, use a BYOC domain or a Managed plan."
  ]
}

Differences from BYOC

Shared SES compared with BYOC
ItemShared SESBYOC
AWS account neededNoYes, your own
Email content storedYes, 14 daysBodies never; recipients and subjects only with email logs on
Sender reputationShared poolYours alone
Account setupVerify email, activate a Managed planVerify email, connect your AWS account in Dashboard → AWS
Email logs in dashboardYesOptional, metadata only (on by default)
Delivery webhooksYesBYOC plan, from your own SES events
Bounce & complaint handlingManaged for youTracked in your account, with protection you choose
Monthly cap5,000 / 25,000 / 100,000 by plan3,000 on Free BYOC; on BYOC, the monthly cap you set (up to 1,000,000), and your own SES quota on top

Frequently asked questions

What the managed path needs from you, and the deliverability trade-off of a shared sender pool.

Do I need an AWS account to use Shared SES?
No. The shared path is available on all three Managed plans — Managed Starter, Managed Growth and Managed Pro — and uses SendFleet's own managed infrastructure. You only need to publish DNS records for your sending domain.
What prerequisites does the shared path have?
Your account email must be verified and your Managed plan subscription must be active. Sending additionally requires a registered domain on the shared path that has passed both the ownership and DKIM checks. There is no manual approval step.
Can the SendFleet free plan send through Shared SES?
Only as a smoke test. Free BYOC can send through Shared SES to the account's own verified sign-up address, exactly, and nowhere else; any other recipient, including a +tag variant, the sendfleet.net test addresses and the SES simulator, is refused with HTTP 403 unauthorized and nothing is queued, and so is any cc or bcc. reply_to may only be empty, your own address or the sender address. One Shared domain is allowed, verified the same way as on a Managed plan. Smoke tests count towards the same 3,000 emails a month as BYOC sends, appear in the email log for 14 days, and fire no webhooks. The first spam complaint on a smoke test permanently suspends the account, with no warning and no pause. The paid BYOC plan does not include the smoke test. To send to anyone else through Shared SES, choose a Managed plan.
Does the shared path still have deliverability protection?
Yes. SendFleet monitors bounce and complaint activity. A first sending-quality breach normally pauses sending for 24 hours without changing your subscription; a repeat breach suspends sending and ends the subscription. Severe abuse or policy violations can cause immediate suspension. A spam complaint on a free-plan Shared smoke test also causes immediate suspension. Sending-quality thresholds are not published.
How long is email content retained on Shared SES?
Content written to the email log is retained for 14 days and then purged automatically. Attachments are staged only for the duration of delivery and are never written to the database. Logs are preserved beyond 14 days only while an account is under review, for as long as that review requires.