~/email-for-developers providers โ†—
โ† all free tiers
free tier ยท ruby

8 Best Free Transactional Email APIs for Ruby (2026), Tested

Every provider here has a permanent free tier and either an official Ruby SDK or standard SMTP support. Trials excluded, checked against current pricing pages.

criteria

  1. 01

    Mailjet

    Transactional Marketing

    6,000/mo capped at 200/day. Permanent and useful for steady low-volume sends.

  2. 02

    Loops

    Marketing Transactional

    Unlimited emails on the Free plan within a 1,000-contact ceiling. Different model: optimal when your contact list grows slowly but your volume is high.

  3. 03

    Brevo

    Transactional Marketing

    300/day permanent. Best for low daily volumes that do not spike on launch day.

  4. 04

    Mailtrap

    Transactional Testing

    4,000/mo permanent on the sending side, plus a free testing tier.

  5. 05

    Resend

    Transactional

    3,000/mo permanent on a single domain.

  6. 06

    MailerSend

    Transactional

    3,000/mo permanent.

  7. 07

    Amazon SES

    Transactional

    New accounts get up to $200 in AWS credits for six months. The old 62,000/mo-from-EC2 allowance is gone.

  8. 08

    SMTP2GO

    Transactional

    1,000/mo permanent, no daily cap.

Send your first email from Ruby

Minimal send calls on the free tier, in ranking order. Swap the from address for a domain you have verified with the provider.

Resend gem install resend
require "resend"

Resend.api_key = ENV["RESEND_API_KEY"]
Resend::Emails.send({
  from: "you@yourdomain.com",
  to: ["user@example.com"],
  subject: "Hello",
  html: "<p>It works.</p>",
})
free tier: 3,000/mo permanent, capped at 100/day, one domain
Amazon SES gem install aws-sdk-sesv2
require "aws-sdk-sesv2"

client = Aws::SESV2::Client.new(region: "us-east-1")
client.send_email({
  from_email_address: "you@yourdomain.com",
  destination: { to_addresses: ["user@example.com"] },
  content: { simple: {
    subject: { data: "Hello" },
    body: { text: { data: "It works." } },
  } },
})
free tier: Up to $200 in AWS Free Tier credits for new accounts
SMTP2GO standard library
require "net/smtp"

message = <<~MSG
  From: you@yourdomain.com
  To: user@example.com
  Subject: Hello

  It works.
MSG

Net::SMTP.start("mail.smtp2go.com", 587,
                user: ENV["SMTP_USER"], secret: ENV["SMTP_PASS"],
                authtype: :plain, starttls: :always) do |smtp|
  smtp.send_message(message, "you@yourdomain.com", "user@example.com")
end
free tier: 1,000/mo permanent

All 8 compared

Every free-tier provider with Ruby support. Free volume and entry pricing sit with each pick above.

ProviderDX scoreSDKsIdempotency keysOperating sinceEvent streamBest published rate per 1,000Webhooks
Mailjet6/10node, python, go, ruby, php, java, dotnetNoNot publishedYesTiers not published in comparable formYes
Loops9/10node, python, go, ruby, phpNo2022YesTiers not published in comparable formYes
Brevo7/10node, python, go, ruby, php, java, dotnetNo2012YesTiers not published in comparable formYes
Mailtrap8/10node, python, go, ruby, php, elixirNo2014YesTiers not published in comparable formYes
Resend8/10node, python, go, ruby, php, rust, java, elixir, cliYes2023Yes$0.35Yes
MailerSend8/10node, python, go, ruby, phpNo2020YesTiers not published in comparable formYes
Amazon SES4/10node, python, go, ruby, php, java, rust, dotnetNo2011Yes$0.10No
SMTP2GO7/10node, python, go, ruby, phpNo2006YesTiers not published in comparable formYes

other languages

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 free Ruby email sending, 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.

How rankings are produced โ†’