
Send email with Rust.
Use the official Parcel Wing SDK to send product and campaign email from Rust with an async-first API that fits modern backend services.
Start with one send, then grow into verified domains, deliverability tooling, and inbox visibility on the same platform.
Start with one send.
Add the crate, create a client, and send your first email with an async API that returns typed results.
Package
parcelwing
Install
cargo add parcelwing && cargo add tokio --features macros,rt-multi-thread
1use parcelwing::{Client, EmailSendRequest};23#[tokio::main]4async fn main() -> Result<(), parcelwing::Error> {5let client = Client::new("pw_xxxxxxxxx")?;67let emails = client8.emails()9.send(10EmailSendRequest::new(11"Parcel Wing <[email protected]>",12"[email protected]",13)14.subject("Hello World")15.html("<strong>It works!</strong>")16.text("It works!"),17)18.await?;1920println!("{:#?}", emails[0]);2122Ok(())23}
Resources
Everything nearby while you integrate.
parcelwing-rust
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 Rust SDK built for async services and strong types.
Simple first send
Get from install to live email quickly without building around a throwaway demo integration.
Async-first API
Fit Parcel Wing into modern Rust services with `async` sends, builder-style request composition, and typed error handling.
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
Add the crate
Install `parcelwing`, configure your API key, and keep the client setup close to the rest of your service initialization.
Step 2
Send your first email
Compose one useful message with the request builder, then inspect the queued email data in logs or async workflows.
Step 3
Scale on the same integration
Add domain setup, routing, and deliverability tooling later without replacing the typed interface your service already depends on.
