PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Confluent

Design a temporary email service

Last updated: Apr 11, 2026

Quick Overview

This question evaluates a candidate's ability to design scalable, highly available, and privacy-focused email ingestion systems, probing competencies in distributed systems, networking (SMTP/MX), storage lifecycle management, rate limiting, security/privacy, and observability.

  • hard
  • Confluent
  • System Design
  • Software Engineer

Design a temporary email service

Company: Confluent

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a disposable email service that issues auto-expiring addresses (e.g., 10-minute inboxes) and receives messages. Specify: requirements and APIs, address generation and TTL semantics, SMTP ingress (MX records, inbound MTA), spam/abuse controls, storage schema with per-message TTL and indexing, retrieval via Web UI and REST, rate limiting and quota, privacy/security (isolation, link-safety, attachment handling), compliance and deletion, background cleanup, observability, and capacity planning. Provide a high-level architecture (MTA → queue/stream → message processor → durable store → cache), data model, consistency/availability trade-offs, scaling to millions of inboxes/day, and cost controls.

Quick Answer: This question evaluates a candidate's ability to design scalable, highly available, and privacy-focused email ingestion systems, probing competencies in distributed systems, networking (SMTP/MX), storage lifecycle management, rate limiting, security/privacy, and observability.

Related Interview Questions

  • Design an RSS News Feed Service - Confluent (medium)
  • Design a News Feed and Mail Service - Confluent (medium)
  • Design RSS Feed and Temporary Mail - Confluent (medium)
  • Design a distributed key-value store at scale - Confluent (hard)
Confluent logo
Confluent
Jul 27, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
57
0

Design a Disposable Email Service with Auto-Expiring Addresses

You are asked to design a receive-only disposable email service (e.g., 10‑minute inboxes) that issues auto-expiring addresses and displays received messages via a web UI and REST API.

Provide a clear, high-level design covering:

Functional Requirements

  • Create ephemeral email addresses that auto-expire (e.g., after 10 minutes).
  • Receive inbound email over SMTP and surface messages in near real time.
  • List, read, and delete messages via Web UI and REST.
  • Enforce per-inbox and per-user/IP quotas and rate limits.

Non-Functional Requirements

  • High availability for SMTP ingress and reads; eventual consistency is acceptable for message indexing.
  • Low-latency display of new messages (p95 < 2–5 seconds from SMTP accept).
  • Scale to millions of inboxes per day and millions of messages per day.
  • Strict privacy/security and compliant deletion on TTL expiration.
  • Cost efficiency with storage lifecycle management.

Specify and Discuss

  1. Requirements and public APIs (create inbox, list messages, get message, delete).
  2. Address generation and TTL semantics.
  3. SMTP ingress: MX records, inbound MTA behavior, acceptance policy.
  4. Spam/abuse controls.
  5. Storage schema with per-message TTL and indexing strategy.
  6. Retrieval via Web UI and REST (including auth model/capability tokens).
  7. Rate limiting and quota.
  8. Privacy/security: isolation, link-safety, attachment handling.
  9. Compliance and deletion guarantees.
  10. Background cleanup processes.
  11. Observability: metrics, logs, tracing, alerts.
  12. Capacity planning and cost controls.

Architecture, Data, and Trade-offs

  • High-level architecture: MTA → queue/stream → message processor → durable store → cache → API/UI.
  • Data model: inbox, message, attachment, and indexing entities.
  • Consistency vs. availability trade-offs for SMTP accept, message availability, and deletion.
  • Scaling strategies to handle millions of inboxes/messages per day.
  • Cost control mechanisms (storage lifecycle, attachment limits, rate limiting).

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Confluent•More Software Engineer•Confluent Software Engineer•Confluent System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.