DITMail is a web-based email client and SMTP server solution designed to provide seamless communication and faster UX.
- 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.
- 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.
- 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.ymlaccordingly. - 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)
- Clone the repository:
git clone https://github.com/DishantSinghDev2/DITMail.git
- Configure environment variables in
.envfrom.env.examplefor both the/weband/. Read the comments inside the root.envvery carefully. - Build and start the container:
cd DITMail docker compose up -d --build - Its running!
- 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. - Configure your domain and start emailing.
- 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.)
- 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
MIT License.
Contributions are welcome! Please submit a pull request or open an issue for discussion, Thanks!
For support, contact us at support@mail.dishis.tech. And contact me at dishant.singh@dishis[.]tech