
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, silakan 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 password1234List user,
docker exec mailserver setup email listUnban IP (kalau fail2ban di enable),
docker exec mailserver fail2ban unban 123.123.123.123Blacklist email
docker exec -it mailserver setup email restrict add send wblidiyl@sharklasers.com/docker exec -it mailserver setup email restrict add receive wblidiyl@sharklasers.comList blacklist email docker exec -it mailserver setup email restrict list`
Referensi:
