Email Notification System
The email system provides professional HTML notifications for download delivery and customer communication.
Email Types
Download Completion
Professional HTML email with download link:
- Template:
templates/email-notification.php - Format: HTML with fallback text
- Purpose: Deliver secure download link
- Timing: Immediate after processing completion
Refund Notifications
Plain text notifications for payment issues:
- Format: Simple text email
- Generated inline in code
- Purpose: Explain refund and reasons
- Timing: Automatic with failed processing
Template System
HTML Email Template
Professional email design with:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Your High-Resolution Image is Ready</title>
</head>
<body style="font-family: Arial, sans-serif; background-color: #f5f5f5;">
<!-- Professional email layout -->
</body>
</html>
Template Variables
Available in email template:
$job– Complete job object$download_url– Secure download link$expiry_date– Token expiration$site_name– WordPress site name$terms_conditions_url– Legal compliance link
Email Content
Download Notification Content
- Professional greeting and completion message
- Clear download button with secure link
- Expiration information (24 hours default)
- Original image reference link
- Resolution and dimension details
- Support contact information
Responsive Design
Email template optimized for:
- Desktop email clients
- Mobile device viewing
- Gmail rendering compatibility
- Outlook compatibility
Delivery System
WordPress Integration
// Send completion notification
wp_mail(
$job->email,
$email_data['subject'],
$email_data['message'],
['Content-Type: text/html; charset=UTF-8']
);
Email Validation
- Customer email format validation
- Bounce handling considerations
- Delivery confirmation tracking
- Spam filter optimization
Security Features
Download Link Security
- Secure 64-character token generation
- Time-limited access (24 hours)
- Single-use download capability
- Token validation requirements
Email Safety
- No sensitive data in email content
- Secure server-side token generation
- Protected download URLs
- Privacy-compliant messaging
Customization Options
Branding Configuration
- Site name integration
- Custom support contact URLs
- Terms and conditions links
- Brand-consistent styling
Content Customization
Template hooks for modifications:
// Customize email subject
add_filter('smi_email_subject', function($subject, $job) {
return "Your {$job->resolution} image is ready!";
}, 10, 2);
Error Handling
Email Delivery Failures
- WordPress mail function fallback
- SMTP configuration support
- Delivery retry mechanism
- Admin notification on failures
Template Errors
- Graceful fallback to simple text
- Error logging for debugging
- Template validation
- Default content safety net
Multi-language Support
Internationalization
All text strings wrapped for translation:
__('Your high-resolution image is ready!', 'sell-my-images')
Template Localization
- Language-specific email templates
- Cultural adaptation support
- RTL language compatibility
- Timezone handling
Email Analytics
Delivery Tracking
- Email sent confirmation in database
- Delivery timestamp recording
- Bounce detection capability
- Open rate tracking (optional)
Customer Engagement
- Download link click tracking
- Email effectiveness metrics
- Customer response monitoring
- Support request correlation
Compliance Features
Privacy Compliance
- GDPR-compliant data handling
- CAN-SPAM Act compliance
- Unsubscribe mechanism (if applicable)
- Data retention policies
Legal Requirements
- Terms and conditions inclusion
- Contact information provision
- Business identification
- Refund policy references
Integration Points
Job Management
- Email triggered by job completion
- Status update integration
- Customer data synchronization
- Processing timeline coordination
Admin Notifications
Copy emails to administrators:
// Admin notification
wp_mail(
get_option('admin_email'),
'Copy: ' . $email_data['subject'],
$email_data['message']
);
Testing and Development
Email Testing
- Template preview capability
- Test email sending
- Client compatibility testing
- Spam filter testing
Development Tools
- Email template validation
- Content preview functionality
- Variable substitution testing
- Delivery confirmation