This project is an attempt to build a simple Email service similar to Gmail. It offers capabilities such as creating a custom email address ([email protected]), sending and receiving emails in the inbox, spam filtering, and more.
- User authentication and registration
- Custom email addresses like [email protected]
- Compose, draft, send, star, delete, and receive emails
- Email organization (folders, labels, filters)
- Full-text search and indexing
- Email encryption and security
- Spam filtering
To achieve this goal, several components need to be in place:
- DNS Configuration: Setting up MX (Mail Exchanger) records for the maillo.dev domain pointing to the Maillo server. Setting up SPF, DKIM, and DMARC records for better deliverability and security.
- Postfix: Configured as an MTA (Mail Transfer Agent) to accept emails for the maillo.dev domain and deliver them to Dovecot.
- Dovecot: Used for email storage and querying.
- Express.js: Powers the backend server.
- PostgreSQL: Handles user database management.
- IMAP client: Interacts with Dovecot for email retrieval and management.
- Docker: Used for containerization of the application components.
This is an exploratory project, aimed at understanding the intricacies of building an email service from the ground up. It's a work in progress, and features are being implemented and tested incrementally.