Docker configuration for a slimta mail server.
git clone https://github.com/slimta/slimta-docker.git
cd slimta-docker
To build and run the stack locally, first build it:
make
Now it can be run using docker-compose
, e.g.:
docker-compose up -d # start the app
docker-compose logs -f # tail the logs
docker-compose down # stop the app
Redis is used to manage deliverable addresses on the mailserver. The
pymap-admin
tool can help manage them:
usage: pymap-admin [-h] [--version] [--config PATH] [--host HOST] [--port PORT] [--path PATH] [--token-file PATH] [--cert FILE] [--key FILE] [--cafile FILE] [--capath PATH] [--no-verify-cert] COMMAND ...
Admin functions for a running pymap server. Many arguments may also be given with a $PYMAP_ADMIN_* environment variable.
positional arguments:
COMMAND
append append a message to a mailbox
change-password assign a new password to a user
check check the server health
delete-user delete a user
get-user get a user
login login as a user
ping ping the server
save-args save connection arguments to config file
set-user add or overwrite a user
options:
-h, --help show this help message and exit
--version show program's version number and exit
--config PATH connection info config file
--host HOST server host
--port PORT server port
--path PATH server socket file
--token-file PATH auth token file
tls options:
--cert FILE client certificate
--key FILE client private key
--cafile FILE CA cert file
--capath PATH CA cert path
--no-verify-cert disable TLS certificate verification
Examples:
# List all configured addresses
pymap-admin list-users
# Add a new mailbox for address '[email protected]'
pymap-admin set-user [email protected]
# Add an alias from '[email protected]' to '[email protected]'
pymap-admin set-user [email protected] --no-password \
--param '[email protected]
# Add an alias for all 'other.com' addresses, e.g. '[email protected]' would
# alias to '[email protected]'
pymap-admin set-user other.com --no-password \
--param 'alias=test+{localpart}@example.com'
# Change the password for address '[email protected]' without
# overwriting other metadata
pymap-admin change-password [email protected]
# Get the raw user configuration for '[email protected]'
pymap-admin get-user [email protected]
# Delete the configuration for '[email protected]'
pymap-admin delete-user [email protected]