Please sign in to access this page

DITMail — Secure, Scalable, Developer-First Mail Infrastructure

DITMail — Secure, Scalable, Developer-First Mail Infrastructure Used AI

20 devlogs
56h 50m
Created by Utkarsh Kumar

DITMail is a next-generation mail server platform built for modern developers, startups, and enterprises who need full control over sending and receiving email—whether for personal inboxes, businesses, or temporary email use cases.

Powered by Haraka, enhanced with DKIM/TLS security, and designed for Dockerized scalability, DITMail offers a flexible email ecosystem that supports:

🌐 Custom domain hosting

🔐 End-to-end authenticated SMTP

📥 Catch-all or per-user inbox routing

🧩 Modular plugin system for anti-spam, DKIM, queueing, and user validation

⚙️ Built-in DKIM key generator and TLS provisioning

🚀 Webmail-ready architecture with IMAP extensibility (via Dovecot)

🧪 Developer-friendly APIs and logs for integration and testing

DITMail supports both temporary email applications (like public inboxes or disposable addresses) and professional-grade email services (with authentication, Maildir inboxing, and domain-based identity).

Whether you're building:

A temp mail site like freecustom.email

A Zoho Mail-like pro SaaS for clients with custom domains

Or your own personal mail server with full transparency and control

…DITMail is your all-in-one, open, and modular email infrastructure toolkit.

Timeline

Added proper storage calcualtion and limiting it according to the organization's plans whenever a new email reaches thier inbox. Also added proper threaded email handling with better UI.

Update attachment

Added draft features, which will be able to save, retrive, show, and use the drafts again very efficiently.

Update attachment

Added the ping icon for indicating unread emails
Devlog Textwhile the sidebar is collapsed.

Update attachment

Edit various options for bulk edits and improved the overall UI of MessageList component.

Update attachment

Created the whole navigation system from mini composer to main composer to reply composer.
Next: sending data through navigation for instant UI

Improved this mini composer with autocompletion of contacts and with proper navigation to main composer.

Update attachment

🛠️ Devlog: Smarter Inline Composer + Better Draft UX

We're continuing to refine the DITMail experience, and this update focuses heavily on productivity and user comfort while composing, replying, or forwarding emails.

✨ What’s New:
✅ Redesigned Inline Composer
Replying and forwarding now happen seamlessly within the conversation thread. No pop-ups, no redirects—just a clean, focused inline editor that keeps you in context.

🖥️ Maximized Composer Mode
Need more room? The composer now supports a maximized view, giving you full control over long-form emails, formatting, and attachments — without losing sight of your workflow.

💾 Improved Draft Saving
All replies and forwards now auto-save in real-time — even inline. Accidentally close the tab? No worries. Your draft will be right where you left it.

🎯 UX Enhancements

Clear visual indicators for reply vs. forward

Smooth transitions between inline and fullscreen modes

Better keyboard accessibility and focus management

DITMail is shaping up to be a truly user-first email platform, and we’re just getting started.

Up next: Undo Send + Smart Signatures 🚀

Devlog #DITMail #EmailUX #Webmail #IndieHacker #ReactDev #FrontendUX #ProductivityTools #GmailAlternative #InboxExperience

Update attachment

🛠️ Devlog Update: Inline Replies + Bigger Composer!

We’ve just pushed a fresh UI/UX upgrade to DITMail! Here's what's new:

✍️ Inline Email Replies
Now you can reply to emails directly inline within the thread — no more jumping between pages. It feels natural, keeps the context visible, and improves the overall flow of conversations.

🧾 Bigger, Better Composer
Say goodbye to cramped spaces! The new resizable and expanded email composer gives you more room to write with clarity. Rich formatting, attachment previews, and keyboard shortcuts all in one seamless editor.

⚡ Performance Tweaks
Faster rendering of threaded emails

Optimized message draft saving

Composer loads 2× faster with lazy init

We're getting closer to a polished, production-ready release. Feedback is always welcome!

Next up: Draft autosave + undo send 👀

Devlog #DITMail #EmailClient #Webmail #IndieDev #TiptapEditor #InboxZero #ReactApp #PrivacyFirst

Update attachment

Improving webmail UI with better search filters and looks.

Update attachment

Replaced direct usage of Nodemailer with a scalable worker-based system for sending emails, ensuring high throughput and reliability. Instead of sending emails directly from the application thread, I implemented a job queue using Redis and BullMQ, where email sending tasks are offloaded to background workers. This architecture decouples the mail delivery process from the main application logic, enabling efficient handling of high-volume outbound mail traffic without blocking user interactions.

Each worker processes jobs asynchronously, performing tasks like SMTP authentication, DKIM signing, logging delivery status, and retrying failed deliveries based on custom logic—replicating patterns used by production-grade email infrastructures.

In parallel, I set up a dedicated WebSocket server built on Express and ws, separate from the main web application. This server handles real-time events such as incoming emails, read receipts, new folder/tag creation, and user status updates. It maintains persistent WebSocket connections for all logged-in users, and uses Redis Pub/Sub to broadcast updates from the backend in real-time.

This separation of concerns (API server, email workers, and WebSocket server) improves system reliability, scalability, and responsiveness—making it suitable for enterprise-level email platforms like Zoho Mail or ProtonMail.

Update attachment

Significantly improved the Webmail UI by redesigning it for performance, responsiveness, and usability. The updated interface delivers a clean and modern user experience with features like real-time inbox updates, instant tag/folder creation, intuitive message threading, and efficient search/filter options.

Optimized the frontend with lazy loading, virtualized message lists, and minimal network requests to ensure smooth performance even with large mailboxes. Leveraged modern frontend technologies (e.g., React with Tailwind or similar frameworks) to maintain consistency across devices and screen sizes.

On the backend, implemented Redis caching and asynchronous job queues to drastically reduce the time taken for fetching, sending, and organizing emails. These changes allowed near-instant email actions such as sending, labeling, and moving between folders.

Overall, the improvements target enterprise-level performance, aiming to match the speed and experience of leading platforms like Zoho Mail and Google Workspace—both in UI fluidity and backend email operations.

Update attachment

Resolved critical issues in SMTP and MX servers, ensuring stable relaying and receiving of emails from various sources. Integrated a fast, fully functional Webmail UI. Implemented proper validation for DKIM, SPF, DMARC, rDNS, and MX records, along with spam filtering and virus scanning to enhance email security and deliverability.

Update attachment

Implemented Redis caching to significantly boost the performance of email fetch/send operations and enable instant tag or folder creation. Aimed to match the responsiveness of large-scale email infrastructures like Zoho and Google Workspace.

Update attachment

Implemented enterprise-grade domain validation with integrated user management.

Update attachment

Currently developing the frontend + API for the DITMail email infrastructure.

Update attachment

Wrapping up the SMTP Server setup and config files.

Update attachment

Separated the MX and SMTP for a more professional experience.

Update attachment

Implementing email relaying with Haraka.

Update attachment

Refining the SMTP server with more Haraka plugins.

Update attachment

Developing an SMTP server for DITMail.

Update attachment