Cara Install Mailcow – Mailcow adalah Solusi email server Open-Source yang berbasis docker container. Mailcow mengintegrasikan komponen-kompen penting Mail Server seperti MTA (Mail Transfer Agent), Webmail (SoGo), dan fitur keamanan email. Hal ini menjadikan mailcow sebagai pilihan ideal bagi Anda yang menginginkan server email yang simpel tapi tetap kuat.
Fitur Mailcow yang bisa dipertimbangkan sebagai solusi mail server :
The mailserver suite with the ‘moo’ – 🐮 + 🐋 = 💕
Important: mailcow makes use of various open-source software. Please assure you agree with their license before using mailcow. Any part of mailcow itself is released under GNU General Public License, Version 3.
Mailcow is a registered word mark of The Infrastructure Company GmbH, Parkstr. 42, 47877 Willich, Germany. The project is managed and maintained by The Infrastructure Company GmbH.
Originated from @andryyy (André)
Anda bisa mempertimbangkan untuk membeli VPS di OrangeVPS. Di layanan ini, port 25 SMTP tidak diblokir, sehingga cocok digunakan untuk keperluan email. Selain itu, harga VPS yang ditawarkan juga cukup terjangkau. Mulai dari Rp30.000-an, Pembayaran pun bisa dilakukan dengan mudah melalui QRIS.
Keunggulan VPS OrangeVPS Untuk Mail Server
Selanjutnya untuk metode instalasi yang akan Kami gunakan adalah dengan mengikuti panduan dokumentasi resmi yang mailcow sudah sediakan. Dimulai dari menginstall docker container sampai proses pengetesan delivery email. Berikut gambaran prosesnya :
Gambarana Proses Instalasi Mailcow
Baca Juga : Cara Membuat Mail Server Sendiri
Port 25 adalah port yang digunakan oleh protokol SMTP untuk berkomunikasi dengan server email lain. Pastikan Port 25 terbuka dan tidak diblokir oleh penyedia VPS. Jika port 25 diblokir, mail server Anda tidak akan bisa digunakan untuk mengirim email. Kami informasikan hal ini di awal karena kebanyakan provider penyedia VPS ternama seperti Digital Ocean, Linode, Vultr, OVH, Alibaba, AWS, GCP Secara default memblokir port 25 di VPS mereka.
Login ke VPS terlebih dahulu, kemudian jalankan perintah berikut untuk mengecek port 25 :
telnet smtp.google.com 25
Pastikan hasilnya connected seperti gambar di bawah. Ini berarti port 25 di VPS Anda tidak diblokir dan bisa digunakan.
update untuk memastikan daftar paket terbaru tersedia di sistem. Selanjutnya, upgrade package yang sudah terinstal ke versi termutakhir guna memperbaiki celah keamanan dan bug. Selain itu, atur zona waktu server/VPS sesuai dengan lokasi pengguna agar catatan log (log) server mudah dipantau dan tugas penjadwalan otomatis (cron) dapat berjalan sesuai waktu yang diharapkan.
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git
Atur juga timezone server dan sesuaikan dengan daerah tempat tinggal Anda. disini saya mengatur timezone server ke Asia/Jakarta.
sudo timedatectl set-timezone Asia/Jakarta
Docker diperlukan sebagai platform containerization untuk menjalankan seluruh komponen mailcow (seperti Postfix, Dovecot, MySQL, Nginx, dll.). Mailcow dirancang berbasis microservices yang dijalankan dalam container terpisah, sehingga Docker memastikan konsistensi konfigurasi, menghindari konflik dependensi, serta memudahkan deployment, dan pembaruan.
Pertama tambahkan repository docker.
sudo apt-get update \
&& sudo apt-get install -y ca-certificates curl gnupg \
&& sudo install -m 0755 -d /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
&& sudo chmod a+r /etc/apt/keyrings/docker.gpg
Kemudian tambahkan repository ke Apt Source.
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Lalu install docker engine, docker cli, dan docker compose
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Terakhir buat agar docker otomatis berjalan setelah booting
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Terakhir periksa versi docker yang terinstall.
Agar email terkirim dan diterima dengan baik, konfigurasi DNS wajib disiapkan untuk memverifikasi keabsahan server dan mencegah email masuk spam. Tanpa konfigurasi DNS ini, email berisiko ditolak atau masuk folder spam karena dianggap tidak sah.
A record mail server adalah pengaturan DNS yang menghubungkan domain FQDN ke IPv4 VPS. Kita akan buat mail server dengan nama domain FQDN mail.dexahost.net, maka berikut adalah settingan A recordnya:
# Name Type Value
mail IN A IPv4-VPS
MX Record (Mail Exchange Record) adalah pengaturan di DNS yang menentukan server email mana yang bertanggung jawab menerima email untuk suatu domain. Arahkan MX ke domain FQDN mail server dengan prioritas tertinggi.
# Name Type Value
@ IN MX 10 mail.dexahost.net
Reverse DNS (rDNS) adalah kebalikan dari A Record, yaitu memetakan alamat IP server ke domain FQDN mail server. Tanpa rDNS yang sesuai, server email penerima sering mencurigai email sebagai spam dan menolaknya. rDNS bisa Anda atur melalui dashboard tempat Anda membeli VPS. Setelah itu, Anda harus memverifikasi konfigurasi rDNS sudah benar atau belum.
Seperti ini contoh setting rDNS di OrangeVPS.
Setelah itu, periksa apakah konfigurasi rDNS sudah berhasil menggunakan situs pengecekan online. Berikut web yang bisa kamu gunakan untuk mengecek PTR record (rDNS):
www.whatsmydns.net/dns-lookup/ptr-records
SPF (Sender Policy Framework) adalah sistem validasi email yang memastikan hanya server terdaftar yang boleh mengirim email atas nama domain Anda. Tanpa SPF, Email mudah dipalsukan (spoofing) dan berisiko tinggi masuk spam.
# Name Type Value
@ IN TXT "v=spf1 mx a:mail.dexahost.net include:_spf.google.com -all"
mx
: Izinkan server yang terdaftar di MX Record.a:mail.domainanda.com
: Izinkan IP dari A Record mail.domainanda.com
.include:_spf.google.com
: Izinkan server Google (misal untuk Gmail).-all
: Blokir semua pengirim lain di luar daftar.DMARC (Domain-based Message Authentication, Reporting & Conformance) adalah protokol keamanan email yang mengatur bagaimana server penerima menangani email gagal autentikasi SPF/DKIM. seperti memblokir, mengkarantina, atau hanya memantau sambil mengirim laporan ke pemilik domain tentang upaya pemalsuan (spoofing) atau serangan phishing.
Dengan DMARC, reputasi pengiriman email meningkat karena server penerima (Gmail, Outlook, dll.) lebih memercayai domain yang telah terverifikasi. Protokol ini juga melindungi domain dari penyalahgunaan dengan memastikan hanya email yang lolos autentikasi SPF dan yang diterima.
# Name Type Value
_dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected] "
Mailcow dijalankan sebagai kumpulan layanan email yang dikemas dalam container docker. Semua komponen terinstal secara otomatis sebagai kontainer tanpa perlu menginstallnya satu per satu secara manual. Kita hanya perlu clone repositori resmi Mailcow, kemudian menjalankanya menggunakan docker. Docker akan mengatur instalasi, jaringan, dan penyimpanan datanya sendiri.
Berikut step-by-step instalasinya:
sudo su
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
Lalu jalankan perintah berikut untuk men-generate konfigurasi dockerfile dan docker-compose.
./generate_config.sh
Kemudian kita mulai jalankan mailcow dari docker.
docker compose pull
docker compose up -d
Pastikan semua service berhasil dibuat dan berjalan sukses seperti ini:
Akses antarmuka utama Mailcow, di mana seluruh pengelolaan sistem email dilakukan. Melalui dashboard ini, kita dapat memantau status server, mengatur domain dan akun email, serta melakukan konfigurasi lanjutan dengan lebih mudah dan terpusat.
https://domain-fqdn/admin
user : admin
Password : moohoo
Dan seperti inilah tampilan dashboard Mailcow
Secara default, Mailcow tidak menyertakan domain apa pun setelah proses instalasi selesai. Oleh karena itu, langkah ini penting untuk menambahkan domain yang akan digunakan sebagai identitas alamat email, seperti [email protected]
. Domain yang ditambahkan nantinya akan menjadi dasar dalam pembuatan mailbox dan pengaturan email lainnya.
Masuk ke : E-Mail => Configuration
Pilih Add Domain
Isi kolom Domain dengan nama domain utama dan tambahkan deskripsi jika perlu. Biarkan pengaturan lainnya tetap default. Setelah itu, klik Add Domain and Restart SOGo untuk menyimpan perubahan.
Setelah berhasil ditambahkan, domain akan muncul di daftar domain Mailcow. Ini menandakan bahwa proses penambahan domain telah berhasil.
Mailbox adalah akun email yang digunakan untuk mengirim dan menerima pesan, misalnya [email protected]
. Setelah domain berhasil ditambahkan ke Mailcow, langkah selanjutnya adalah membuat mailbox agar alamat email dapat digunakan. Setiap mailbox biasanya mewakili satu pengguna, dan dapat diakses melalui webmail atau aplikasi email seperti Outlook dan Thunderbird. Dengan menambahkan mailbox, kita mulai membangun sistem email yang aktif dan fungsional di domain yang telah ditentukan.
E-Mail => Configuration => Mailboxes => Add Mailboxes
Isi alamat email yang ingin dibuat, nama pemilik akun, pilih domain yang akan digunakan, dan tentukan password. Biarkan pengaturan lainnya tetap default, lalu klik Save untuk menyimpan mailbox.
Jika berhasil, mailbox yang baru saja dibuat akan muncul di daftar mailbox. Ini menandakan bahwa proses penambahan akun email telah selesai dan siap digunakan.
DKIM (DomainKeys Identified Mail) adalah mekanisme keamanan email yang berfungsi untuk memverifikasi bahwa pesan yang dikirim benar-benar berasal dari domain pengirim dan tidak diubah di tengah jalan. Pengaturan ini penting untuk meningkatkan reputasi email dan mencegah agar email tidak masuk ke folder spam.
Berbeda dengan SPF, DMARC, dan MX yang bisa disiapkan sejak awal, DKIM baru bisa ditambahkan setelah Mailcow selesai diinstal dan domain dimasukkan ke dalam sistem. Hal ini karena Mailcow secara otomatis membuat kunci DKIM untuk setiap domain yang ditambahkan, sehingga proses ini memang dilakukan belakangan.
System => Configuration => Options => ARC/Add DKIM Keys
Selanjutnya, tambahkan DKIM tersebut ke panel manajemen domain. Di sini saya menggunakan Cloudflare sebagai contoh. Format record-nya kurang lebih seperti berikut:
Setelah semua konfigurasi selesai, tahap pengujian dilakukan untuk memastikan sistem email berjalan dengan baik. Pengujian ini mencakup pengiriman dan penerimaan email, serta pemeriksaan reputasi dan keamanan konfigurasi DNS seperti SPF, DKIM, dan rDNS. Langkah ini penting agar kita tahu bahwa email tidak masuk spam, tidak ditolak oleh server penerima, dan server sudah terkonfigurasi dengan benar.
Ada dua jenis pengujian yang sebaiknya dilakukan:
Gunakan layanan seperti mail-tester.com untuk mengirim email uji coba dan mendapatkan skor reputasi email Anda. Dari sini, Anda bisa memperbaiki kekurangan teknis yang terdeteksi. Pastikan untuk membuat agar skor yang didapatkan 10/10 seperti ini.
Lakukan pengujian lanjutan dengan mengirim email langsung ke alamat Gmail, Outlook, atau layanan email umum lainnya. Perhatikan apakah email masuk ke inbox, folder spam, atau bahkan ditolak. Pengujian ini mencerminkan bagaimana server email Anda dilihat oleh layanan email populer di dunia nyata.
Jadi begitulah Cara Install Mailcow. Menyiapkan server email sendiri dengan Mailcow membutuhkan perhatian pada banyak aspek, mulai dari instalasi, konfigurasi DNS (SPF, DKIM, DMARC), hingga pengujian email untuk memastikan reputasi dan deliverability. Meski terlihat teknis, proses ini sangat bermanfaat karena memberikan kontrol penuh atas email domain sendiri tanpa bergantung pada layanan pihak ketiga.
Pastikan setiap langkah dilakukan dengan teliti, terutama pada bagian DNS dan validasi keamanan (seperti rDNS dan DKIM), karena inilah kunci agar email tidak dianggap spam. Setelah semua selesai dan diuji, kamu akan memiliki server email yang handal, aman, dan sesuai standar industri.