
Send email with Ruby.
Use the official Parcel Wing SDK to send product and campaign email from Ruby with a clean API that fits real app code.
Start with one send, then grow into verified domains, deliverability tooling, and inbox visibility on the same platform.
Start with one send.
Install the gem, initialize a client, and send your first message with Ruby-friendly keyword arguments.
Package
parcelwing
Install
gem install parcelwing
1require "parcelwing"23parcelwing = ParcelWing::Client.new(4api_key: ENV.fetch("PARCELWING_API_KEY")5)67emails = parcelwing.emails.send(8from: "Parcel Wing <[email protected]>",9to: "[email protected]",10subject: "Hello World",11html: "<strong>It works!</strong>",12text: "It works!"13)1415puts emails[0].fetch("id")
Resources
Everything nearby while you integrate.
parcelwing-ruby
Browse the official SDK source, releases, and package history.
Example repo
Start from a small working app instead of assembling the first send by hand.
Quickstart docs
Wire up your API key, domain, and first message with the shortest path to green.
API reference
Keep the object model, method signatures, and send options close while you build.
Why this SDK
A Ruby SDK built for app workflows, not throwaway snippets.
Simple first send
Get from install to live email quickly without building around a throwaway demo integration.
Ruby-friendly API
Use keyword arguments, hashes, and predictable return values that fit neatly into Rails, Sinatra, or background jobs.
Production-friendly path
Use the same platform for password resets, invites, receipts, alerts, and lifecycle messaging.
Deliverability built in
Layer in domains, routing, and deeper delivery visibility when the stakes rise.
Workflow
Move from install to live sends fast.
Step 1
Install the gem
Add `parcelwing`, initialize a client with your API key, and keep the setup close to the rest of your application services.
Step 2
Send your first email
Ship one useful message, then use the returned queued email data in logs, controllers, or async jobs.
Step 3
Scale on the same integration
Add domain setup, routing, and deliverability tooling later without rewriting the API surface your app depends on.
