Mailverse is a new and modern email server written in TypeScript. It is designed to be fast, secure and easy to use.
- [SMTP] [POP3] [🔜IMAP] server with TLS support
- 🆕 Upstreams: use an existing SMTP / POP server as relay and store your mail on own hardware. Unique to Mailverse
- 🔜 Web Interface for managing your instance
- 🔜 Webmailer with modern UI
- MariaDB / MySQL / File System support for storing mail
- 🔜 Docker support
version: "3"
services:
mailverse:
image: mailverse/mailverse
ports:
- "25:25"
- "110:110"
- "465:465"
- "995:995"
volumes:
- ./mails:/app/mails
- ./config.json:/app/config.json
db:
image: mariadb
environment:
- MYSQL_ROOT_PASSWORD=mailverse
- MYSQL_DATABASE=mailverse
- MYSQL_USER=mailverse
- MYSQL_PASSWORD=mailverse
- Install the latest version of NodeJS
- Clone the repository
- Run
npm install
- Run
npm run build
(ortsc
) - Set up a MariaDB / MySQL database and create a user with access to it
- Create a
config.json
file (see below) - Run
node .
(may require root permissions) or with a process manager likepm2
Copy the example config from config.sample.json
to config.json
and adjust it to your needs.
In case of using Docker: you should only change the ports in the config if you are using host networking. If not, change the ports in the port mapping instead.