Skip to main content
Platform Services Completed

BanglaEmail

An email platform built around deliverability and correct handling of Bangla-language content across the full send and receive path.

Stack
6 technologies
Abstract representation of an email delivery pipeline with queued retries

The problem

What needed solving

Bangla-language email breaks on incorrect charset and transfer-encoding assumptions, and messages are lost rather than delayed when delivery has no queue, retry or recorded outcome.

My role

Responsibilities

Platform design and implementation: MIME and encoding correctness, delivery queue with retry semantics, persistence model for messages and outcomes, and the web client.

The solution

Architecture summary

Standards-correct MIME encoding across the full send path, a queued delivery pipeline with retry and backoff and recorded outcomes, PostgreSQL persistence and Redis-backed queue coordination and mailbox caching.

Case study

In detail

Context

Email is a solved problem right up until the encoding is wrong, the headers are malformed, or the sending domain has no authentication story. Bangla-language content makes the encoding path unforgiving: a single incorrect assumption about charset or transfer encoding produces mail that renders as noise in a client the sender never tests.

Design decisions

Correct encoding end to end. Subject headers, display names and message bodies are encoded to the relevant MIME standards so Bangla content survives every hop, rather than working only between two clients that happen to agree.

Deliverability treated as architecture. Domain authentication, consistent envelope and header alignment, and bounce handling are part of the system design, not operational afterthoughts.

Queued, observable delivery. Outbound mail goes through a queue with retry and backoff, so a transient upstream failure delays a message instead of losing it, and delivery outcomes are recorded rather than assumed.

Architecture

  • Spring Boot services for composition, queueing and delivery with retry and backoff
  • PostgreSQL persistence for mailboxes, messages, threads and delivery outcomes
  • Redis for queue coordination and read-heavy mailbox listing caches
  • Angular client with full Unicode composition, threading and search

Outcomes

What changed

  • Bangla subject lines, display names and bodies preserved correctly across mail clients
  • Transient delivery failures retried with backoff instead of resulting in lost messages
  • Delivery outcomes recorded and inspectable rather than inferred
  • Mailbox listing reads served from cache without affecting delivery correctness