Skip to content
Thilo Fromm edited this page May 2, 2023 · 22 revisions

Set up the mail server

To get started, you'll need an internet-connected server as well as a DNS name pointing to it. DNS is a requirement for getting letsencrypt certificates.

See the set-up instructions for more.

Operate the mail server

Operations include adding and removing users as well as managing aliases. The documentation also covers location of the service configuration files and renewing letsencrypt certificates. See the operations instructions for details.

Mail client settings

The server supports plain SMTP (enforces STARTTLS), SMTP over SSL, IMAP, and IMAP over SSL.

  • The server name (for both sending and receiving) is HOSTNAME.
  • SMTP:
    • Port 25 w/ STARTTLS
    • Port 465 w/ SSL/TLS
  • IMAP:
    • Port 143 (STARTTLS)
    • Port 993 w/ SSL/TLS

Either "plain" or "login" login is supported. Username is the full user@domain name supplied to user.sh add .... Password is the password provided (or generated).

Issues and Workarounds

Build the container

A Dockerfile is provided with this repo. (Re-)Build the container by issuing

$ docker build -t myemailserver .

Then update start_mailserver.sh and replace ghcr.io/t-lo/mailserver with myemailserver (or any other tag you've used in the docker build command above). Start your build:

./start_mailserver.sh