DEV Community

SendFleet
SendFleet

Posted on

Quickstart BYOC - SendFleet

For the BYOC path you need:
→ An AWS account with SES approved for
production access
(out of sandbox mode)
→ A domain you control (to add DNS records)
→ Access to create IAM roles in your AWS account

  1. Create a SendFleet account
    Register at sendfleet.net/register. Email verification is required before you can send. The Starter plan is free with 50 BYOC emails/month - no credit card needed.

  2. Create an IAM role in AWS
    In your AWS console, go to IAM → Roles → Create role. Choose Custom trust policy and paste the trust policy shown in your account settings → BYOC section. It will include your unique ExternalId automatically. Attach the required SES permissions (also listed in settings). See the full guide in BYOC Setup →

  3. Connect your IAM role
    Go to Dashboard → Settings. Paste your IAM Role ARN and select your SES region. Click Validate & save. We'll verify that we can assume the role and that your SES account is out of sandbox mode.
    Example Role ARN
    arn:aws:iam::123456789012:role/SendFleet-BYOC-Role

  4. Add and verify a sending domain
    Go to Dashboard → Domains → Add BYOC domain. Enter your root domain (e.g. acme.com). We'll register the identity in your SES and show you the DNS records to add. Once the TXT ownership record propagates, click Verify ownership - then Verify DKIM. DKIM verification is required before any email can be sent.

  5. Generate an API key
    Go to Dashboard → API Keys → New key. Give it a name (e.g. "Production"). The full secret key is shown exactly once - copy it and store it in your environment variables or secrets manager.

  6. Send your first email

curl -X POST https://sendfleet.net/api/send/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "user@example.com",
"from_email": "hello@acme.com",
"from_name": "Acme",
"subject": "Welcome aboard",
"message": "Thanks for signing up!"
}'

A 200 OK means your email has been accepted and queued. Delivery happens asynchronously.

200 OK
{
"success": true,
"message": "Email queued for delivery via your SES account.",
"message_id": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
"mode": "byoc"
}

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.