Why I built it
At Adventure Dhaka Ltd, we needed a way to send thousands of personalized emails without relying on expensive third-party services. So I built one.
Architecture
The system uses Laravel queues with database driver for job processing. Each email batch is split into chunks of 100, processed by separate workers, with real-time progress tracking via WebSockets.
// Queue job example
class SendEmailBatch implements ShouldQueue
{
public function handle(): void
{
// Process 100 emails
}
}
Features
- Template engine with Blade variables
- List management with import/export
- Open & click tracking via pixel tracking
- Bounce handling with automatic unsubscribe
- Rate limiting per provider
Results
Processing 50,000+ emails daily with 98% delivery rate. Replaced Mailchimp entirely.
Top comments (0)