Documentation Index
Fetch the complete documentation index at: https://mintlify.com/revokslab/shipfree/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Plunk is an open-source email platform designed for developers. It’s a great choice if you want:- Simple API with minimal configuration
- Open-source transparency
- Developer-friendly pricing
- Clean, modern dashboard
- Easy template management
Plunk is the fourth provider ShipFree checks during auto-discovery. It will be used if Resend, Postmark, and Nodemailer aren’t configured.
Prerequisites
- A Plunk account
- An API key
Setup Instructions
Step 1: Create a Plunk Account
- Sign up at useplunk.com
- Verify your email address
- Complete the onboarding
Step 2: Get Your API Key
- Navigate to Settings → API
- Copy your Secret API Key
Step 3: Configure Your Domain
To send emails from your own domain:- Go to Settings → Domain
- Enter your domain (e.g.,
yourdomain.com) - Add the DNS records Plunk provides
- Wait for verification (usually 5-15 minutes)
- Set your default sender email
Step 4: Configure Environment Variables
Add these to your.env file:
Step 5: Install Plunk Package
The Plunk package is already included in ShipFree:Step 6: Test Your Configuration
Features
Basic Email Sending
Plunk focuses on simplicity:Multiple Recipients
Plunk can send to multiple recipients:When sending to multiple recipients, each receives their own individual email (not CC’d).
HTML Email Focus
Plunk is optimized for HTML emails. If you provide both HTML and text, HTML takes precedence:Batch Sending (Sequential)
Since Plunk doesn’t have native batch support, ShipFree sends emails one by one:Environment Variables Reference
| Variable | Required | Description | Example |
|---|---|---|---|
PLUNK_API_KEY | Yes | Your Plunk secret API key | sk_abc123... |
EMAIL_PROVIDER | No | Force Plunk as provider | plunk |
DEFAULT_FROM_EMAIL | No | Default sender email | noreply@yourdomain.com |
DEFAULT_FROM_NAME | No | Default sender name | Your App Name |
Development vs. Production
Development Setup
For development, you can use Plunk’s test mode:Production Setup
For production, verify your domain:Plunk Dashboard
The Plunk dashboard provides:Email Activity
- View all sent emails
- See delivery status
- Check open rates (if tracking enabled)
- Monitor failures
Templates
While ShipFree uses React Email for templates, you can also:- Create templates in Plunk dashboard
- Use template IDs in your code
- Manage content without code changes
Analytics
- Track email sends
- Monitor delivery rates
- View engagement metrics
Limitations
If you need these features, consider using Resend, Postmark, or Nodemailer instead.Pricing
Plunk offers competitive pricing:- Free Tier: 3,000 emails/month
- Starter: $29/month for 100,000 emails
- Growth: Custom pricing for higher volumes
Troubleshooting
Error: 'Plunk not configured'
Error: 'Plunk not configured'
The
PLUNK_API_KEY is missing or invalid.Solution:- Verify
PLUNK_API_KEYis set in.env - Check the API key is correct (starts with
sk_) - Restart your application
- Verify the API key in Plunk dashboard → Settings → API
Error: 'Invalid from address'
Error: 'Invalid from address'
You’re sending from an unverified domain.Solution:
- Go to Plunk → Settings → Domain
- Verify your domain with DNS records
- Update
DEFAULT_FROM_EMAILto use verified domain - For testing, use Plunk’s default domain
Emails not being delivered
Emails not being delivered
Check these issues:
- Domain verification: Ensure DNS records are correct
- API key: Verify it’s a valid production key
- Rate limits: Check you haven’t exceeded quota
- Spam folder: Ask recipients to check spam
- Dashboard logs: Check Plunk dashboard for errors
Batch sending is slow
Batch sending is slow
This is expected behavior with Plunk.Explanation:
Plunk doesn’t support native batch sending, so emails are sent sequentially. Each email is a separate API call.Solutions:
- Switch to Resend or Postmark for native batch support
- Reduce batch size
- Use background jobs for large sends
Can't attach files
Can't attach files
Plunk does not support file attachments.Workaround:
- Upload files to your server or cloud storage
- Include download links in email HTML
- Or switch to a provider that supports attachments (Resend, Postmark, Nodemailer)
Code Reference
The Plunk provider implementation:createPlunkProvider()- Initialize provider (line 70)send()- Send email (line 42)
When to Use Plunk
Plunk is ideal for:Simple transactional emails - Authentication, notifications, alerts
Small to medium volume - Under 100,000 emails/month
HTML-only emails - No need for attachments
Developer-friendly setup - Quick configuration, modern API
Additional Resources
Plunk Documentation
Official Plunk documentation
Plunk Dashboard
Manage emails and settings
Plunk GitHub
View source code and contribute
API Reference
Complete API documentation