Postfix Smart Host Docker
Smart Host (or Relay Host) is a server which routes all outgoing messages to specified remote domain. You can use it as a mail server for applications which do not support SASL authentication or for other needs.
Customization of variable parameters such as relay server, mail account credentials and allowed IP addresses or networks is done using docker environment variables or configuration file.
For full installation use:
git clone https://github.com/Vnet-as/smart-host-postfix-docker.git cd smart-host-postfix-docker docker build -t lirt/smart-host-postfix-docker-local .
Or download docker image from DockerHub with command:
docker pull lirt/smart-host-postfix-docker
Docker environment variables
You can run smart host with following docker environment variables (note that all environment variables are mandatory):
- HOSTNAME: hostname for this docker smart host (eg. server.example.com)
- RELAY_HOST: mail server where we need to authenticate user account (eg. mail.example.com)
- USERNAME: account username to log to (eg. email@example.com)
- PASSWORD: account password (eg. abcd1234)
- MYNETWORKS: Networks which are allowed to send mail through this smart-host (eg. "172.20.100.0/24 172.20.101.12 172.20.101.13")
Example run with environment variables:
docker run \ -h smarthost.example.com \ -e HOSTNAME=smarthost.example.com \ -e RELAY_HOST=mail.example.com \ -e USERNAMEfirstname.lastname@example.org \ -e PASSWORD=abcd1234 \ -e MYNETWORKS="172.20.100.0/24 172.20.101.12 172.20.101.13" \ -d lirt/smart-host-postfix-docker
For using custom postfix configuration mounted with docker volume there is directory
postfix with sample configuration files. Example run with configuration files mounted as docker volume:
docker run \ -v <ABS_PATH_TO_POSTFIX_CF_DIR>:/etc/postfix \ -d lirt/smart-host-postfix-docker