Send with SMTP
SMTP is for systems that cannot call the Parcel Wing API directly. It still creates Parcel Wing message records and goes through the same domain, suppression, usage, and reputation checks.
When to use SMTP
Prefer the API for new product code. Use SMTP for products like Auth0, Supabase Auth, WordPress, Ghost, Rails Action Mailer, Django SMTP backends, and other tools that provide a mail host, port, username, and password form.
Message mapping
Parcel Wing maps SMTP messages into the same outbound pipeline as API sends. To, CC, and BCC recipients become individual message sends. The sender domain must belong to the tenant and be verified. A small safe set of headers, such as threading headers and mailer identifiers, can pass through to the outbound message.
Screenshot placeholder
SMTP settings example in a third-party app
Capture a third-party SMTP configuration screen using Parcel Wing host, port 587, STARTTLS, username, and password. Good examples include Supabase Auth, WordPress SMTP, or Nodemailer docs-style configuration.
Example
This Nodemailer example shows the shape of a typical SMTP integration. Keep credentials in environment variables and use a verified Parcel Wing sending domain in the from address.
send-with-smtp.ts
import nodemailer from "nodemailer";const transport = nodemailer.createTransport({host: "smtp.parcelwing.com",port: 587,secure: false,auth: {user: "pw_live_xxxxxxxxxxxxx",pass: process.env.PARCEL_WING_API_KEY,},});await transport.sendMail({from: "Acme <[email protected]>",to: "[email protected]",subject: "Your receipt is ready",text: "Thanks for your order. Your receipt is ready in your account.",html: "<p>Thanks for your order. Your receipt is ready in your account.</p>",});
Limitations
SMTP is less expressive than the API. It is excellent for compatibility, but the API is better for template aliases, structured tags, typed errors, and future Parcel Wing features that require JSON request metadata.