Skip to content

lilioid/mailcalf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dockerized Mailserver

Exposed Ports

Port Service Description
25 SMTP Requires no authentication but is under heavy restrictions regarding the senders that are accepted based on spam protection heuristics
26 SMTP Same as above but expects a PROXY-Protocol header
587 Submission Mail submission port for users. Basically SMTP but STARTTLS as well as authentication are always required
993 Imap Used for retrieving mails and managing mailboxes
4190 sieve-manage Management port for sieve-scripts
11334 rspamd HTTP server of the rspamd admin interface

Persistence

This container requires persistent volumes at the following locations:

  • /app/mail for storing actual emails in maildir format
  • /app/data for various database e.g. spam filter learnings

Config Files

  • /app/conf/dovecot_local.conf A dovecot configuration file that is automatically included at the end of the container's configuration. This file must contain at least one passdb block so that dovecot knows how to authenticate users.

  • /app/conf/postfix_local.cf A postfix main.cf file that is automatically appended to the container's configuration.

  • /app/conf/postfix_virtual_alias_maps.txt A berkeley db table which lists email address aliases (Postfix reference).

    This basically means one alias per line in a <from> <to> format. These aliases can be recursive.

    For mails to be correctly deliverable, all aliases should finally resolve to a keycloak username.

  • /app/conf/postfix_virtual_domains.txt A berkeley db table which lists domains for which this server accepts mails.

    The right-hand side of the table is completely ignored and can be anything.

  • /app/conf/postfix_sender_login_maps.txt A lookup table that specifies which user is allowed to send from which address.

    Postfix Documentation

  • /app/conf/postfix_recipient_access.txt A lookup table from which postfix determines specific actions that it performs depending on the resolved recipient address.

    Postfix Documentation

  • /app/conf/rspamd_worker_controller.inc Incrementally applied configuration file for rspamd.

    It should at least set the following parameters:

    password = "$2$z4y5epzqj6jxzrkxca4wb4tszfnhmtcs$39tgkjx95srtw4mu9ey5fcxrn6yq4wsqy5z4eqxwijzbas9kq7wb";
    
  • /app/conf/opendkim_domains.txt A file listing the domains which will be dkim signed.

  • /app/conf/opendkim_key.pem The private key with which dkim signatures will be made.

  • /app/ssl/tls.crt and /app/ssl/tls.key for TLS encryption.

  • /app/conf/fetchmailrc for configuring fetchmail. See the documentation for the syntax of this file.

    Delivery options can be ignored in the config file as they are set as command line arguments to fetchmail by the container (see the launch script for details).

    The file could for example look like this:

    poll imap.mydomain.de protocol IMAP auth password
      user "ftsell" with password "…" is "ftsell" here
    

About

Dockerized easy to use mailserver inspired by mailcow [Mirror of https://git.hanse.de/lilly/mailcalf]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages