
Halo, kalau kamu merasa tulisan saya ngebantu, kamu bisa ucapkan terima kasih lewat saweria .
If you feel this website help you, you can donate at saweria .
Mail Server Murah Meriah dengan docker-mailserver
Buat siapa docker-mailserver ?
-
Yang butuh email server cepet
-
Lagi belajar buat email server
-
Yang punya server dengan spek “pas-pasan”
Berikut detail tools yang saya gunakan di tutorial
-
Docker version 23.0.1
-
Ubuntu Server 22.04.2 LTS dengan Spesifikasi 1 CPU & 1 GB RAM
-
SMTP Relay mailjet , karena biasanya di semua cloud provider, mail related port (25, 465, 587) di block.
How To
Setup docker-mailserver
- Buat file docker-compose.yml
version: '3.8'
services:
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
container_name: mailserver
hostname: mail
# Change this to your domain, it is used for your email accounts (eg: user@example.com):
domainname: domainkamu.com
ports:
#
- "25:25"
- "587:587"
- "465:465"
- "143:143"
- "993:993"
volumes:
- ./docker-data/dms/mail-data/:/var/mail/
- ./docker-data/dms/mail-state/:/var/mail-state/
- ./docker-data/dms/mail-logs/:/var/log/mail/
- ./docker-data/dms/config/:/tmp/docker-mailserver/
# The "from" path will vary based on where your certs are locally:
- ./docker-data/certbot/certs/:/etc/letsencrypt/
- /etc/localtime:/etc/localtime:ro
#- ./docker-data/dms/config/dovecot/15-mailboxes.conf:/etc/dovecot/conf.d/15-mailboxes.conf:ro
# - ./docker-data/dms/config/dovecot/10-master.conf:/etc/dovecot/conf.d/10-master.conf
environment:
# at first, better to disable this
# you can enable after successfully setup user on mail client
- ENABLE_FAIL2BAN=0
# Using letsencrypt for SSL/TLS certificates
- SSL_TYPE=letsencrypt
# Allow sending emails from other docker containers
# Beware creating an Open Relay: https://docker-mailserver.github.io/docker-mailserver/edge/config/environment/#permit_docker
- PERMIT_DOCKER=network
# All env below are default settings:
- ONE_DIR=1
- ENABLE_POSTGREY=0
- ENABLE_CLAMAV=0
- ENABLE_SPAMASSASSIN=0
# You may want to enable this: https://docker-mailserver.github.io/docker-mailserver/edge/config/environment/#spoof_protection
# See step 8 below, which demonstrates setup with enabled/disabled SPOOF_PROTECTION:
- SPOOF_PROTECTION=0
- RELAY_HOST=in-v3.mailjet.com
- RELAY_PORT=587
- RELAY_USER=YourID
- RELAY_PASSWORD=YourKey
cap_add:
- NET_ADMIN # For Fail2Ban to work
-
Jalankan
docker-composer up -d
. -
Setup MX & SPF Record

MX Record

SPF Record
- Buat DKIM Keys
docker exec mailserver setup config dkim
, copykan dan buat 1 record TXT

DKIM Record
- Setup Lets Encrypt SSL, cek di dokumentasi saja ya karena terlalu panjang
Catatan:
-
JANGAN LUPA BUKA PORT YANG ADA DI FILE docker-compose!
-
docker-mailserver ini punya dokumentasi yang lengkap, silahkan cek di dokumentasi mereka kalau kalian mengalami kesulitan

Thunderbird Setup
Command di docker-mailserver
-
Buat user baru,
docker exec mailserver setup email add saya@domainkamu.com password1234
-
List user,
docker exec mailserver setup email list
-
Unban IP (kalau fail2ban di enable),
docker exec mailserver fail2ban unban 123.123.123.123
-
Blacklist email
docker exec -it mailserver setup email restrict add send wblidiyl@sharklasers.com
/docker exec -it mailserver setup email restrict add receive wblidiyl@sharklasers.com
-
List blacklist email docker exec -it mailserver setup email restrict list`
Referensi: