Email Campaign Management
ShulNET provides a comprehensive email campaign system for managing mailing lists, sending newsletters, and tracking subscriptions. The system supports both single opt-in and double opt-in (confirmed) subscription workflows.
Overview
Email campaigns are mailing lists or newsletter groups that members can subscribe to. Each campaign has its own subscriber list and settings.
Key Features
- Multiple Campaigns - Create separate lists for different purposes
- Subscriber Management - Track who subscribes and unsubscribes
- Double Opt-in - Require email confirmation for verified subscriptions
- Campaign Emails - Send newsletters to confirmed subscribers
- Bulk Operations - Subscribe multiple members at once
- Compliance - CAN-SPAM and GDPR-ready features
Email Campaigns
Creating Campaigns
Navigate to /admin/campaigns to manage all campaigns.
Required Fields
| Field | Description |
|---|---|
| Name | Campaign identifier (e.g., "Monthly Newsletter", "Weekly Update") |
| Subject | Default email subject line |
| Content | Default email body template |
Optional Fields
- Description: Internal description of campaign purpose
- Opt-in Type:
singleordouble - Is Active: Enable/disable the campaign
- Confirmation Subject: Email subject for double opt-in confirmation
- Confirmation Content: Email body for double opt-in confirmation
Campaign Settings
Active Status
- Active campaigns accept new subscribers
- Inactive campaigns hide subscription forms but retain subscribers
Opt-in Types
Single Opt-in
| Step | Action |
|---|---|
| 1 | Member subscribes |
| 2 | Immediately marked as "confirmed" |
| 3 | Starts receiving emails immediately |
When to use:
- Internal lists (existing members)
- Low-risk communications
- When immediate subscription is desired
Double Opt-in (Confirmed)
| Step | Action |
|---|---|
| 1 | Member subscribes |
| 2 | Marked as "pending" |
| 3 | Confirmation email sent with unique token |
| 4 | Member clicks link to confirm |
| 5 | Status changes to "confirmed" |
When to use:
- Public-facing subscription forms
- Compliance with anti-spam regulations
- Higher-value email lists
- When email verification is important
- Validates email addresses
- Reduces spam complaints
- Better engagement (confirmed interest)
- Legal compliance (GDPR, CAN-SPAM)
Subscription Management
Subscribe Member
Single Subscription
- Navigate to campaign detail page
- Click "Subscribe Member"
- Select member from dropdown
- Member is immediately added (status depends on opt-in type)
Bulk Subscription
- Navigate to campaign detail page
- Click "Bulk Subscribe"
- Select multiple members
- All selected members are subscribed at once
Subscription Statuses
| Status | Description |
|---|---|
| Pending | Awaiting confirmation (double opt-in only) |
| Confirmed | Active subscriber, will receive emails |
| Unsubscribed | Opted out, won't receive emails |
Unsubscribe Member
Manual Unsubscribe:
- Navigate to campaign detail page
- Find member in subscriber list
- Click "Unsubscribe"
Public Unsubscribe (via email link):
- Member clicks unsubscribe link in email
- Status automatically changed to "unsubscribed"
Campaign Emails
Overview
Campaign emails are individual email messages sent to campaign subscribers. Track sent status and sending time.
Creating Campaign Email
- Navigate to campaign detail page
- Click "Create Campaign Email"
- Enter subject line
- Write email content (HTML supported)
- Save as "pending"
Email Statuses
| Status | Description |
|---|---|
| Pending | Queued to send, not yet sent |
| Sent | Successfully sent |
| Failed | Send failed (if tracking failures) |
Sending Campaign Emails
- Create campaign email with "pending" status
- Review content and test
- Click "Send Now"
- Email is sent to all confirmed subscribers
- Status automatically changes to "sent"
Email Templates
Using Email Templates
The system supports reusable email templates for consistent branding.
Template Variables
Common variables that can be used in templates:
| Variable | Description |
|---|---|
{{MEMBER_NAME}} |
Subscriber's name |
{{MEMBER_EMAIL}} |
Subscriber's email |
{{CAMPAIGN_NAME}} |
Campaign name |
{{UNSUBSCRIBE_LINK}} |
Link to unsubscribe |
{{CONFIRMATION_LINK}} |
Link to confirm subscription (double opt-in) |
{{CURRENT_DATE}} |
Current date |
Bulk Operations
Subscribe All Active Members
- Navigate to campaign detail page
- Click "Bulk Subscribe"
- Select "All Active Members"
- Confirm the action
- All active members are subscribed
Import from CSV
You can bulk import subscribers from a CSV file:
- Prepare CSV file with email addresses
- Match emails to existing members
- Subscribe matched members to campaign
Compliance
Legal Requirements
CAN-SPAM Act (US)
- Include physical address
- Accurate subject lines
- Identify message as advertisement
- Easy unsubscribe mechanism
- Process unsubscribes within 10 business days
GDPR (Europe)
- Get explicit consent
- Explain what they're subscribing to
- Easy way to withdraw consent
- Keep records of consent
Compliant Email Footer
Best Practices
- Use Double Opt-in for Public Lists - Better compliance and engagement
- Personalize Emails - Use member name and relevant data
- Include Unsubscribe Link - Required by law, builds trust
- Test Before Sending - Send test to yourself first
- Track Metrics - Monitor open rates and engagement
- Segment Lists - Create targeted campaigns for different groups
- Mobile-Friendly HTML - Ensure emails render well on mobile
- Clear Call-to-Action - Make it clear what you want readers to do
- Respect Unsubscribes - Process immediately, no questions asked
- Regular Cadence - Consistent schedule builds expectations
Common Scenarios
Scenario 1: Monthly Newsletter
- Create campaign: "Monthly Newsletter"
- Set opt-in type to "double" for verification
- Add all active members via bulk subscribe
- Each month, create new campaign email
- Write content and send to confirmed subscribers
Scenario 2: Event Announcements
- Create campaign: "Special Events"
- Set opt-in type to "single" for immediate access
- Members subscribe themselves via member portal
- Send campaign emails for each special event
Scenario 3: Weekly Torah Portion
- Create campaign: "Weekly Torah Portion"
- Set opt-in type to "double"
- Provide subscription form on website
- Members confirm via email
- Send weekly campaign emails automatically
Troubleshooting
Emails Not Sending
- Check mail configuration in
.env - Verify SMTP credentials
- Check email queue if using queues
- Review mail logs
Confirmation Links Not Working
- Verify token in database
- Check route is properly defined
- Ensure tokens don't expire (if implemented)
Subscribers Not Receiving
- Verify status is "confirmed"
- Check spam folders
- Verify email addresses are valid
- Review sending logs
.env file.