tinysend

keep your Mailgun code. change one line.

tinysend speaks the Mailgun API. point your app's base URL at us — Ghost, phpList, Laravel, Django. no rewrite. and replies land in a real inbox.

sign up free see pricing
how it works
  1. create a mailbox — use your own domain or a tinysend.com address
  2. open the mailbox → Settings → create a Mailgun-compatible key
  3. point your app's Mailgun base URL at https://mailgun.tinysend.com/v3 and paste the key

that's it. your existing Mailgun integration keeps working — same API, different host.

how to replace Mailgun in Ghost

Ghost only supports Mailgun for newsletter sending — and it lets you change the base URL. Add this to config.production.json (or the matching env vars), then restart Ghost:

"bulkEmail": {
  "mailgun": {
    "baseUrl": "https://mailgun.tinysend.com/v3",
    "apiKey": "key-...",        // from your tinysend mailbox → Settings
    "domain": "yourdomain.com"  // your mailbox's sending domain
  }
}

Your transactional/member email (sign-in links, receipts) keeps using your normal mail SMTP settings — or point those at your tinysend mailbox too.

other apps

Laravel — set the Mailgun endpoint in .env:

MAILGUN_DOMAIN=yourdomain.com
MAILGUN_SECRET=key-...
MAILGUN_ENDPOINT=mailgun.tinysend.com

Django (django-anymail) — override the API URL:

ANYMAIL = {
    "MAILGUN_API_KEY": "key-...",
    "MAILGUN_API_URL": "https://mailgun.tinysend.com/v3",
    "MAILGUN_SENDER_DOMAIN": "yourdomain.com",
}

Node (mailgun.js) — pass url: 'https://mailgun.tinysend.com' to the client. Rails (mailgun-ruby) — set api_host: 'mailgun.tinysend.com'. Anything that speaks the Mailgun API and lets you set the host works.

why switch

no code rewrite — you keep your Mailgun integration. one config value changes.

replies land in a real inbox — every send is from a tinysend mailbox, so newsletter replies come back somewhere you can read, search, and automate. The SES/SMTP workarounds are send-only.

no $35/month floor — small lists start at $6/mo (or free up to 100 emails). pay for what you send.

no surprise bans — managed deliverability without the abrupt account suspensions Mailgun is known for.

keeps your stats — opens, clicks and bounces flow back to your app, unlike the SES adapters that drop analytics.

get your key read the docs
contact

questions, feedback, white-label inquiries