Skip to content

DishantSinghDev2/DITMail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DITMail

DITMail is a web-based email client and SMTP server solution designed to provide seamless communication and faster UX.

Features

Web UI

  • Intuitive and responsive design using Tailwind CSS + Optimistic UI.
  • Inbox, Sent, Drafts, and Trash management.
  • Email filtering and search functionality with custom Haraka plugins.
  • Rich text email composer using similar idea as gmail.
  • Multi-account support using WYI's OAuth.

SMTP Server

  • Secure email delivery using TLS/SSL with CA certs(depends upon you, though).
  • Support for custom domains.
  • Email queue management using Redis and BullMQ (on custom worker inside /worker).
  • Spam filtering and blacklisting .
  • Logging and monitoring tools.

Installation

Prerequisites

  • Docker & Docker Compose
  • A valid domain name for both Inbound(mx.ditmail.online) and Outbound(smtp.ditmail.online - optional) email relaying.
  • Inbound and oubound port 25 access (for receiving and relaying emails)
  • Cloudflare account if using it for DNS, for others you need to adjust the docker-compose.yml accordingly.
  • I recommend using seperate server or use Vercel (or Cloudflare worker but you have to remove all the direct TCP connections like MonogDB and Redis and use their api for https conn only as Cloudflare doen't allow that and few other tweaks too) for frontend deployment - btw, i am using Vercel (i will move to cloudflare in future as its faaaast and cheaper)

Steps

  1. Clone the repository:
    git clone https://github.com/DishantSinghDev2/DITMail.git
  2. Configure environment variables in .env from .env.example for both the /web and /. Read the comments inside the root .env very carefully.
  3. Build and start the container:
    cd DITMail
    docker compose up -d --build
  4. Its running!

Usage

  1. Access the web UI at http://localhost:3000, SMTP servers requires port 25 for both inbound and outbound connections with 465 and 587 to relay emails remotely.
  2. Configure your domain and start emailing.
  3. Start sending and receiving emails! It's not for spammers, bcoz you know! (technically, if you start sending spammy emails through your servers it will only harm your IPs reputations and your IP will get blacklisted by spam filters. Nevermind if you infinte IPs.)

AI Usage in the project

  • Just the basic foundations for the frontend part
  • Basic UI and UX
  • For debugging, but I didn't copy paste directly in most cases.
  • I guess less than 30% overall

License

MIT License.

Contributing

Contributions are welcome! Please submit a pull request or open an issue for discussion, Thanks!

Support

For support, contact us at support@mail.dishis.tech. And contact me at dishant.singh@dishis[.]tech

About

A fully robust and fast email infrastructure.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •