58 lines
1.9 KiB
Markdown
58 lines
1.9 KiB
Markdown
|
# EXIM4 from Debian in a container
|
||
|
|
||
|
This image can be used to deploy an MTA in a container and connect it to a smarthost to provide the
|
||
|
option to send mail from other containers without the need to configure the smarthost in each of them.
|
||
|
|
||
|
## Configuration
|
||
|
|
||
|
Four environment variables are used to configure the container:
|
||
|
|
||
|
* `SMARTHOST`: The is the name of the smarthost. exim within this container will send all mail to this smarthost for further delivery. Make sure the smarthost accepts mail from this container without authentication.
|
||
|
* `LOCALMAILNAME`: The domain name which shall be used as the domain part of the sender address in every outgoing mail.
|
||
|
* `RELAYNETS`: Networks exim in this container accepts for relaying. Separate multiple networks by semicolon.
|
||
|
* `ROOT`: Addresses to forward root mail to. Separate multiple addresses by space.
|
||
|
|
||
|
|
||
|
## Deployment
|
||
|
|
||
|
Typically, don't expose the smtp port of this container to the default network of your Docker installation, otherwise it conflicts with a local MTA on the machine and it would be visible outside of the machine. Create a dedicated docker network, use that one as the default network for this container and connect other containers to that network. Afterwards, you can use the name of this container as smarthost address in the other containers.
|
||
|
|
||
|
|
||
|
## Example start script
|
||
|
|
||
|
```
|
||
|
#!/bin/bash
|
||
|
|
||
|
. /opt/container-start-scripts/startfuncs.inc
|
||
|
|
||
|
IMAGE=quay.io/wollud1969/exim-docker:0.0.9
|
||
|
MAILER_NETWORK=mailer-network
|
||
|
|
||
|
VOLUMES=""
|
||
|
|
||
|
|
||
|
createVolumes
|
||
|
evalCliOptions $@
|
||
|
|
||
|
docker network create $MAILER_NETWORK || echo "mailer-network already exists"
|
||
|
|
||
|
|
||
|
if [ "$RELAYNETS" = "" ]; then
|
||
|
RELAYNETS=`docker network inspect $MAILER_NETWORK --format '{{ (index .IPAM.Config 0).Subnet }}'`
|
||
|
fi
|
||
|
|
||
|
|
||
|
docker run \
|
||
|
-d \
|
||
|
-e SMARTHOST=krd2cacleu.krohnegroup.com \
|
||
|
-e LOCALMAILNAME=krohne.com \
|
||
|
-e RELAYNETS=$RELAYNETS \
|
||
|
-e ROOT=w.hottgenroth@krohne.com \
|
||
|
--network $MAILER_NETWORK \
|
||
|
--name mailer \
|
||
|
--restart always \
|
||
|
$IMAGE
|
||
|
```
|
||
|
|
||
|
|