← All Project Ideas

Email Sending Service

intermediate

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