Quickstart Guide: Send Your First Campaign
Welcome
This guide will walk you through sending your first email campaign with Laravel Mail Platform. You'll go from zero to sent in about 15 minutes.
Prerequisites:
- ✅ Laravel Mail Platform installed and configured
- ✅ Your admin account created and logged in
- ✅ Basic understanding of email marketing
What you'll do:
- Set up an email service provider
- Add subscribers
- Create an email template (optional)
- Create a campaign
- Send it out
Let's get started!
Step 1: Set Up an Email Service (5 minutes)
An email service is the provider that actually sends your emails. Laravel Mail Platform integrates with four major providers—choose the one that fits your needs.
Choose Your Email Service
| Provider | Best For | Signup | Cost |
|---|---|---|---|
| SendGrid | Marketing campaigns; great UI | sendgrid.com | Free tier (100/day) |
| Postmark | Transactional emails; best support | postmarkapp.com | Pay-as-you-go ($1.50 per 1k) |
| Mailgun | Developers; flexible; API-first | mailgun.com | Free tier available |
| Amazon SES | High volume; cheapest at scale | aws.amazon.com/ses | $0.10 per 1k emails |
Quick recommendation: If you're new to email marketing, start with SendGrid—it's beginner-friendly and has a generous free tier.
⚠️ Important: Postmark is for transactional email only (password resets, confirmations). Don't use it for marketing campaigns per their Terms of Service.
Add Email Service to Laravel Mail Platform
- Log in to Laravel Mail Platform
- Click Settings → Email Services in sidebar
- Click + Add Email Service button
- Select your chosen provider from dropdown
- Enter your credentials:
- API key (or username/password)
- From email address (must be verified in your email service)
- Optional: Friendly name
- Click Test Connection
- Sends test email to verify it works
- Check your inbox for confirmation
- Click Save
Need detailed setup for your provider? See Email Services Guide for step-by-step instructions for each provider.
Verify Your Sending Domain (Important!)
Before you can send emails, your email service requires you to verify that you own the domain. This varies by provider:
SendGrid: Add DNS records to verify domain Postmark: Verify sender email address Mailgun: Add DNS records to verify domain Amazon SES: Verify sender email or domain
Typically takes 5-30 minutes. Check your email service's documentation for exact steps.
Step 2: Add Subscribers (5 minutes)
Subscribers are the people who will receive your campaigns. You need at least a few to test with.
Option A: Add One Subscriber Manually (Quickest)
- Click Subscribers in sidebar
- Click + New Subscriber
- Enter:
- Email: Their email address
- First Name: (optional but recommended for personalization)
- Last Name: (optional)
- Subscribe: Toggle ON (must be checked)
- Click Save
Repeat this 2-3 times to add test subscribers.
Option B: Import CSV (For Larger Lists)
If you already have a list of subscribers:
- Click Subscribers in sidebar
- Click ⋯ (menu) → Import Subscribers
- Prepare your CSV file with columns:
email,first_name,last_name
Example CSV:
email,first_name,last_name
john@example.com,John,Smith
sarah@example.com,Sarah,Jones
- Click Browse and select your CSV
- Click Upload
See Subscribers Guide for detailed CSV instructions.
Option C: Add via API (For Automation)
If you're integrating with your application:
POST /api/subscribers
{
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith"
}
See API Documentation for full details.
Test Subscribers
For initial testing, add your own email and a few test addresses:
- Your email (your-email@example.com)
- Test account (test@example.com)
- This helps you see what emails actually look like
Step 3: Create a Template (Optional, 5 minutes)
Templates provide consistent branding for all campaigns. You don't need one to get started, but they save time.
Why Create a Template?
- Consistent branding — Same header/footer on all emails
- Faster campaigns — Just write content, template handles design
- Professional look — Built-in layouts work in all email clients
- Reusable — Use same template for multiple campaigns
Create Your First Template
- Click Templates in sidebar
- Click + New Template
- Enter Template Name: (e.g., "Newsletter Template")
- In the HTML editor, paste this simple template:
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 0; }
.container { max-width: 600px; margin: 0 auto; padding: 20px; }
.header { background: #007bff; color: white; padding: 20px; text-align: center; }
.footer { background: #f8f9fa; border-top: 1px solid #ddd; padding: 15px; margin-top: 30px; font-size: 12px; color: #666; text-align: center; }
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>Welcome, {{first_name}}!</h1>
</div>
<!-- Campaign content goes here -->
{{content}}
<div class="footer">
<p>© 2024 My Company. All rights reserved.</p>
<p><a href="{{unsubscribe_url}}">Unsubscribe</a> | <a href="{{webview_url}}">View in Browser</a></p>
</div>
</div>
</body>
</html>
- Click Save
What does this do?
{{first_name}}— Automatically inserts subscriber's first name{{content}}— Placeholder for your campaign message (required){{unsubscribe_url}}— Unsubscribe link (required by law){{webview_url}}— View in browser link
Or: Import Pre-Built Templates
Laravel Mail Platform includes professional templates you can use immediately:
php artisan app:import-templates
This downloads free templates you can use as-is or customize.
Want to learn more about templates? See Templates Guide.
Step 4: Create Your Campaign (5 minutes)
Now you'll create and prepare your first campaign.
Create Campaign
- Click Campaigns in sidebar
- Click + New Campaign
- Fill in the form:
Campaign Name: (internal name, e.g., "Welcome to our Newsletter")
Subject Line: (what subscribers see, e.g., "Welcome, {{first_name}}!")
From Name: (e.g., "John from Acme Co.")
From Email: (verified email from Step 1)
Email Service: (select the one you configured in Step 1)
Template: (optional; select template from Step 3, or skip)
- In Content section, write your message:
Hi {{first_name}},
Welcome to our newsletter! Here's what's new this month:
- Feature 1: Something exciting
- Feature 2: Another great thing
- Feature 3: One more thing
Check out our blog for more updates!
Best regards,
The Team
- Click Save and Continue
Your campaign is now in Draft status.
Preview Your Campaign
Before sending, preview exactly what subscribers will see:
- On campaign page, look for Preview section
- Select a subscriber from dropdown
- Click Preview
- See how personalization looks (names should appear correctly)
- Verify links work
- Check formatting
Step 5: Send Your Campaign (2 minutes)
Time to send it out!
Review Your Campaign
On the campaign preview page, verify:
- ✅ Subject line looks good
- ✅ Content is correct
- ✅ Links work
- ✅ Personalization shows correctly (names appear)
Send Test Email First (Recommended)
Before sending to everyone, send to yourself:
- Find Test Email section
- Enter your email address
- Click Send Test Email
- Check your email (including spam folder)
- Verify it looks perfect
Choose Recipients
- In Recipients section, choose:
- All Subscribers — Send to everyone
- Specific Tags — Send only to certain groups (if you've set up tags)
- Verify the number shown (e.g., "Will be sent to 5 subscribers")
Choose Send Timing
- In Schedule section:
- Send immediately — Goes out now (recommended for first campaign)
- Schedule for later — Choose date/time to send
- For first campaign, choose Send immediately
Choose Sending Behavior
- In Sending Behaviour section, choose:
Option A: Send Automatically (Recommended)
- Messages sent immediately when you confirm
- Best for: Most campaigns
- Good for: Large subscriber lists
Option B: Queue Draft
- Creates draft for each subscriber
- You must manually send each one
- Best for: Small lists where you want to review each email
- Not recommended for: Lists over 1,000 subscribers
- For first campaign, choose Send Automatically
Send!
- Review all settings one more time
- Click Send Campaign button
- Confirm when prompted
- Campaign is sent! 🎉
Verify It Worked
After sending, verify your campaign went out:
Check Your Email
- Go to your email inbox (including spam folder)
- Look for your campaign email
- Verify:
- Subject line correct
- Names personalized correctly
- Links work
- Footer with unsubscribe link present
Check Campaign Status
- Go to Campaigns in sidebar
- Find your campaign in list
- Should show status: Sent
- Click on campaign to see:
- Number sent
- Delivery status
- Opens/clicks (if tracking enabled)
- Any bounces or failures
Check Messages
- Go to Messages in sidebar
- Should see your campaign emails listed
- Click on one to see delivery details
- Verify status is Sent or Delivered
Congratulations! 🎉
You've successfully sent your first campaign with Laravel Mail Platform!
What's Next?
Now that you've completed the basics, here are some next steps:
Expand your subscriber list:
- Import more subscribers from CSV
- Set up web form to capture signups
- Use API to sync with your application
Organize with tags:
- Create tags for different audience segments
- Target campaigns to specific tags
- Example: "Newsletter" tag, "Premium Users" tag
Build more templates:
- Create templates for different email types
- Promotional template, newsletter template, etc.
- Use templates for consistent branding
Create more campaigns:
- Monthly newsletter
- Product announcements
- Customer updates
- Promotional campaigns
Track performance:
- Monitor open rates
- Track click-through rates
- Monitor bounce rates
- A/B test subject lines
Set up automation:
- Send campaigns on schedule (e.g., every Monday)
- Segment campaigns by engagement
- Re-engagement campaigns for inactive users
Detailed Documentation
For detailed information on each feature:
- Email Services — Email Services Guide
- Subscribers — Subscribers Guide
- Tags — Tags Guide
- Templates — Templates Guide
- Campaigns — Campaigns Guide
- Messages — Messages Guide
Troubleshooting
"Campaign won't send"
Check:
- [ ] Email service is configured and tested
- [ ] Subscribers exist and are subscribed
- [ ] Campaign content is filled in
- [ ] Email service account is active (not suspended)
Fix:
- Verify email service credentials in Settings
- Check queue workers are running (if using queues)
- Review logs for error messages
"Emails going to spam"
Why this happens:
- New domain reputation
- Missing SPF/DKIM records
- Content triggers spam filters
- Unsubscribe link missing
How to fix:
- Check email service's spam monitoring
- Set up SPF, DKIM, DMARC records
- Include unsubscribe link in template
- Monitor bounce rates
"Personalization not working"
Problem: {{first_name}} showing as text in email
Causes:
- Tag used in campaign content instead of template
- Subscriber doesn't have first name set
- Template not selected
Fix:
- Put tags in template (inside
{{content}}area works too) - Add first names to subscribers
- Make sure template is selected when creating campaign
"Test email never arrived"
Check:
- [ ] Email address is correct (no typos)
- [ ] Check spam/junk folder
- [ ] Email service account is active
- [ ] From email address is verified
Try:
- Use different test email address
- Verify from address in email service
- Check email service account status
Tips for Success
Email Best Practices
- Always include unsubscribe link — Required by law (CAN-SPAM, GDPR)
- Use clear subject lines — Be specific, avoid spam trigger words
- Test before sending — Send test email to yourself
- Personalize when possible — Use first names to increase engagement
- Keep emails short — Most emails read on mobile
- Single call-to-action — One main thing you want reader to do
Frequency Guidelines
- Too often: Daily emails to inactive users (leads to unsubscribes)
- About right: Weekly newsletter, monthly promotions
- Balance: Regular enough to stay relevant, not so often to annoy
Compliance
- Always include unsubscribe link — CAN-SPAM law requires it
- Honor unsubscribe requests — Remove within 10 business days
- Don't buy email lists — Get permission first (double opt-in preferred)
- Keep records — Document how you got each subscriber's consent
Performance
- Monitor open rate — Below 15% may indicate list quality issues
- Monitor bounce rate — Should be below 3%
- Monitor unsubscribe rate — A few percent is normal
- Clean list regularly — Remove bounces and long-inactive users
Getting Help
Need more information?
- Check full documentation
- Review FAQ
- Check email service provider's docs for API key help
Still stuck?
- Review logs for error messages
- Try the troubleshooting section above
- Contact support
Recap: The 5 Steps
| Step | Time | What You Do |
|---|---|---|
| 1. Email Service | 5 min | Choose provider, add credentials, verify domain |
| 2. Subscribers | 5 min | Add test subscribers manually or via CSV |
| 3. Template | 5 min | Create template or import pre-built ones (optional) |
| 4. Campaign | 5 min | Create campaign, write content, preview |
| 5. Send | 2 min | Send test email, then send to all subscribers |
Total time: ~25 minutes from start to first campaign sent ✅
Now go send something awesome! 🚀