Send email from Ruby on Rails
Action Mailer is the canonical interface. Providers with a maintained Action Mailer adapter beat raw SDK use.
Sidekiq is the default for async sends. Webhook handling is straightforward with engine-style mounts.
Send patterns
- Action Mailer with a provider gem.
- Sidekiq retries on transient send failures.
- Action Mailbox for inbound parsing.
- Webhook controllers mounted under /webhooks.
Common mistakes
- Forgetting to use deliver_later in production.
- Adapter mismatch between dev (letter_opener) and prod.
- Inbound webhook signature checks skipped behind Action Mailbox.
provider picks for Ruby on Rails
- 01
Postmark
TransactionalBest-in-class Action Mailer adapter and webhook helpers.
100/mo developer plan · $15/mo for 10,000 emails - 02
SendGrid
Transactional MarketingMature gem and docs.
60-day free trial only (permanent free tier was removed May 2025) · $19.95/mo for 50,000 emails - 03
Mailgun
TransactionalAction Mailer adapter and queue-friendly.
100/day permanent free plan · $15/mo for 10,000 emails (Basic) - 04
Amazon SES
Transactionalaws-sdk-rails Action Mailer integration.
Up to $200 in AWS Free Tier credits for new accounts · $0.10 per 1,000 emails
reading this as developers picking email infrastructure
The question here is which one a backend engineer would rather operate. That means SDK depth in the language already in use, whether a retry can safely be replayed, how much the event log tells you when a customer says the email never arrived, and whether the pricing curve stays sane as volume grows.
Applied to sending email from Ruby on Rails, that means weighing developer experience, SDK breadth, idempotency keys, and operating track record ahead of the rest, against password resets, receipts, and magic links shipped from application code.