Transaction emails that build trust
Send professional order confirmations the instant customers check out. Product details, shipping info, and tracking links in one beautiful email.
import { Stack0 } from '@stack0/sdk'const stack0 = new Stack0({ apiKey: process.env.STACK0_API_KEY })// Send order confirmation emailexport async function sendOrderConfirmation(order: Order) {await stack0.mail.send({from: 'orders@yourdomain.com',to: order.customer.email,subject: `Order #${order.id} confirmed`,templateId: 'order-confirmation',templateVariables: {customerName: order.customer.name,orderId: order.id,orderDate: order.createdAt.toLocaleDateString(),items: order.items.map(item => ({name: item.name,quantity: item.quantity,price: item.price.toFixed(2),imageUrl: item.imageUrl,})),subtotal: order.subtotal.toFixed(2),shipping: order.shipping.toFixed(2),tax: order.tax.toFixed(2),total: order.total.toFixed(2),shippingAddress: order.shippingAddress,estimatedDelivery: order.estimatedDelivery,},})}
Features
What's included
Dynamic Templates
Loop through products, calculate totals, render images. Templates handle complexity.
Instant Delivery
Sub-second sending for transaction emails. Customers see confirmation immediately.
Open Tracking
Monitor order email engagement. Identify delivery issues before customers complain.
Bounce Handling
Invalid emails flagged. Know when orders might not reach customers.
Status Updates
Send shipped, delivered, and return emails from the same template system.
Scheduling
Schedule follow-up emails. Review requests, reorder reminders, and more.
Why Stack0
Built for production
Instant confirmation
Order emails sent within seconds of purchase. No anxious waiting for customers.
Dynamic line items
Render product images, quantities, and prices. Template loops handle any cart size.
Shipping details
Include address, carrier, tracking number, and estimated delivery in one email.
Track engagement
See open rates on order emails. Identify delivery issues early.
TypeScript SDK
Type-safe order data means fewer bugs in critical transaction flows.
Simple pricing
$0.50 per 1,000 emails. No premium for transactional emails.
Applications
Common implementations
Purchase Confirmation
Confirm orders with full details immediately after checkout.
Shipping Notification
Notify customers when orders ship with tracking information.
Delivery Confirmation
Confirm delivery and prompt for reviews or feedback.
Subscription Receipts
Send receipts for recurring subscription charges.
FAQ
Frequently asked questions
Yes. Pass image URLs in your template variables and use them in your email template. Images are displayed inline. We recommend using your CDN URLs for reliable image loading.
Use template loops with the 'items' array. Your template can iterate over items to display each product with its name, quantity, price, and image. There's no limit on the number of items.
Use the same template system for shipping notifications. Create templates for 'shipped', 'out-for-delivery', and 'delivered' statuses. Include tracking numbers and carrier links in your template variables.
Order confirmations are sent with high priority and typically delivered within 1-3 seconds. This ensures customers see confirmation immediately after checkout.
Yes. Open tracking is enabled by default. You can see open rates in your dashboard or receive webhooks when emails are opened. This helps identify delivery issues early.
Ready to build?
Plans start at $5/month.