Email Sending Service
An email service with template rendering, attachment support, batch sending, delivery tracking, and provider abstraction. Supports SMTP and API providers, scheduled sending, and bounce handling wit...
Target user
Backend developers who send transactional emails
Problem
Applications need a reliable email service with templates, tracking, and provider abstraction without coupling to a specific email provider.
Requirements
- Render email templates with variables
- Send via SMTP or API providers
- Track delivery and bounce status
- Batch sending with rate limits
- Manage unsubscribes and preferences
Core technologies
Python, FastAPI, SQLAlchemy
Completion criteria
An email service with templates, multi-provider support, tracking, batch sending, and unsubscribe management.
Optional extensions
- Add A/B testing for emails
- Implement scheduled campaigns
- Add attachment processing
- Support SMS fallback
Project phases
Phase 1: Phase 1: Core Sending
Tasks: Set up FastAPI project, Implement email template rendering, Build SMTP provider integration, Add API provider integration
Phase 2: Phase 2: Tracking and Batching
Tasks: Implement delivery tracking, Add bounce handling, Build batch sending with rate limits, Create scheduled sending
Phase 3: Phase 3: Unsubscribes and Polish
Tasks: Build unsubscribe management, Add attachment support, Create provider fallback, Write API documentation