Cara Setup Email Server Sendiri di VPS: Panduan Postfix dan Dovecot

Mengapa Setup Email Server Sendiri?
Cara setup email server sendiri adalah pilihan yang semakin banyak dipertimbangkan oleh bisnis dan developer yang menginginkan kontrol penuh atas komunikasi email mereka. Dengan email server sendiri, Anda tidak bergantung pada layanan pihak ketiga, data email tersimpan di server Anda sendiri, bisa mengkonfigurasi setiap aspek sesuai kebutuhan, dan dalam jangka panjang bisa lebih hemat biaya dibanding berlangganan layanan email berbayar per akun.
Namun setup email server sendiri bukan tanpa tantangan. Ini adalah salah satu konfigurasi server yang paling kompleks - melibatkan beberapa layanan yang saling berinteraksi, konfigurasi DNS yang tepat, dan pemahaman mendalam tentang protokol email seperti SMTP, IMAP/POP3, dan mekanisme keamanan SPF, DKIM, DMARC. Jika tidak dikonfigurasi dengan benar, email Anda akan masuk folder spam atau ditolak sama sekali oleh server penerima.
Panduan cara setup email server sendiri ini menggunakan Ubuntu 22.04 LTS sebagai sistem operasi VPS, dengan Postfix sebagai MTA (Mail Transfer Agent) untuk pengiriman email dan Dovecot sebagai IMAP/POP3 server untuk akses email dari client seperti Outlook atau Thunderbird.
Prasyarat Sebelum Mulai
Pastikan semua prasyarat berikut terpenuhi sebelum memulai cara setup email server sendiri:

- VPS dengan Ubuntu 22.04: Minimal 1 GB RAM untuk setup dasar, 2 GB RAM direkomendasikan. HostingEkspres menyediakan VPS dengan spesifikasi ini.
- Domain yang sudah dikontrol: Anda perlu mengakses DNS management domain untuk menambahkan record MX, SPF, DKIM, dan DMARC.
- IP publik yang clean: IP server yang belum pernah digunakan untuk spamming. Cek reputasi IP di MXToolbox atau Spamhaus sebelum mulai.
- Reverse DNS (PTR record): Hubungi provider VPS untuk mengatur PTR record agar reverse lookup IP mengarah ke hostname mail server Anda. Ini sangat penting untuk deliverability email.
- Port 25 tidak diblokir: Beberapa VPS provider memblokir port 25 secara default. Pastikan port ini terbuka untuk pengiriman email.
Langkah 1: Persiapan Awal Server
Login ke VPS sebagai root atau user dengan hak sudo, kemudian lakukan update sistem:
sudo apt update && sudo apt upgrade -y
Set Hostname yang Benar
Hostname server harus sesuai dengan nama mail server Anda:
sudo hostnamectl set-hostname mail.namadomain.com
Edit file /etc/hosts dan tambahkan baris:
IP_SERVER_ANDA mail.namadomain.com mail
Ganti IP_SERVER_ANDA dengan IP publik VPS Anda dan namadomain.com dengan domain Anda.
Konfigurasi DNS Records
Sebelum melanjutkan instalasi, tambahkan record DNS berikut di panel DNS domain Anda:
- A Record:
mail.namadomain.com→ IP publik VPS - MX Record:
namadomain.com→mail.namadomain.com(priority 10)
Record lain (SPF, DKIM, DMARC) akan ditambahkan setelah instalasi selesai.
Langkah 2: Install dan Konfigurasi Postfix
Postfix adalah MTA (Mail Transfer Agent) yang bertugas mengirim dan menerima email via protokol SMTP.
Instalasi Postfix
sudo apt install postfix postfix-mysql -y
Saat wizard instalasi muncul, pilih Internet Site sebagai tipe konfigurasi dan masukkan namadomain.com sebagai System mail name.
Konfigurasi Dasar Postfix
Edit file konfigurasi utama Postfix di /etc/postfix/main.cf. Berikut konfigurasi penting yang perlu diatur:
# Hostname mail server
myhostname = mail.namadomain.com
mydomain = namadomain.com
myorigin = $mydomain
# Interface yang didengarkan
inet_interfaces = all
inet_protocols = all
# Domain yang diterima
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# Batas ukuran pesan (50MB)
message_size_limit = 52428800
# Virtual mailboxes
virtual_mailbox_domains = namadomain.com
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
# TLS/SSL settings
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.namadomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.namadomain.com/privkey.pem
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtp_tls_security_level = may
# SASL Authentication
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
Setup SSL Certificate untuk Mail Server
sudo apt install certbot -y
sudo certbot certonly --standalone -d mail.namadomain.com
Langkah 3: Install dan Konfigurasi Dovecot
Dovecot adalah IMAP/POP3 server yang memungkinkan email client (Outlook, Thunderbird, Apple Mail) mengakses dan mengelola email di server.
Instalasi Dovecot
sudo apt install dovecot-core dovecot-imapd dovecot-pop3d -y
Konfigurasi Utama Dovecot
Edit /etc/dovecot/dovecot.conf untuk mengaktifkan protokol:
protocols = imap pop3 lmtp
Edit /etc/dovecot/conf.d/10-mail.conf:
mail_location = maildir:/var/mail/vhosts/%d/%n
mail_privileged_group = mail
Edit /etc/dovecot/conf.d/10-auth.conf:
disable_plaintext_auth = yes
auth_mechanisms = plain login
# Gunakan file passwd untuk autentikasi
!include auth-passwdfile.conf.ext
Edit /etc/dovecot/conf.d/10-ssl.conf:
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.namadomain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.namadomain.com/privkey.pem
ssl_min_protocol = TLSv1.2
Konfigurasi Auth Socket untuk Postfix
Edit /etc/dovecot/conf.d/10-master.conf dan tambahkan konfigurasi unix listener untuk memungkinkan Postfix menggunakan autentikasi Dovecot:
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
}

Langkah 4: Buat Akun Email
Dengan konfigurasi virtual mailbox, setiap pengguna email disimpan sebagai direktori terpisah. Buat user dan mailbox:
# Buat grup dan user untuk virtual mailbox
sudo groupadd -g 5000 vmail
sudo useradd -g vmail -u 5000 vmail -d /var/mail/vhosts -m
# Buat direktori mailbox untuk domain
sudo mkdir -p /var/mail/vhosts/namadomain.com/admin
sudo chown -R vmail:vmail /var/mail/vhosts
Tambahkan akun email ke file mapping Postfix /etc/postfix/vmailbox:
admin@namadomain.com namadomain.com/admin/
Kompilasi file mapping:
sudo postmap /etc/postfix/vmailbox
Buat password untuk akun email di Dovecot. Gunakan doveadm pw untuk generate password hash:
doveadm pw -s SHA512-CRYPT
Tambahkan hasilnya ke file /etc/dovecot/users:
admin@namadomain.com:{SHA512-CRYPT}$hash_yang_dihasilkan
Langkah 5: Konfigurasi Firewall
Buka port yang diperlukan untuk email server:
sudo ufw allow 25/tcp # SMTP
sudo ufw allow 587/tcp # SMTP Submission (dengan autentikasi)
sudo ufw allow 993/tcp # IMAP SSL
sudo ufw allow 995/tcp # POP3 SSL
sudo ufw allow 80/tcp # HTTP (untuk certbot)
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
Langkah 6: Konfigurasi SPF, DKIM, dan DMARC
Tiga mekanisme autentikasi email ini sangat penting untuk memastikan email Anda tidak masuk spam. Tanpa ketiganya, sebagian besar email yang dikirim dari server Anda akan ditolak atau masuk folder spam di Gmail, Outlook, dan server email besar lainnya.
Install OpenDKIM
sudo apt install opendkim opendkim-tools -y
Generate DKIM Keys
sudo mkdir -p /etc/opendkim/keys/namadomain.com
sudo opendkim-genkey -b 2048 -d namadomain.com -D /etc/opendkim/keys/namadomain.com -s default -v
sudo chown -R opendkim:opendkim /etc/opendkim
sudo chmod 600 /etc/opendkim/keys/namadomain.com/default.private
Tampilkan public key untuk ditambahkan ke DNS:
sudo cat /etc/opendkim/keys/namadomain.com/default.txt
Tambahkan DNS Records untuk Autentikasi Email
Tambahkan tiga record berikut di DNS domain Anda:
- SPF (TXT record di @):
v=spf1 mx a ip4:IP_VPS_ANDA ~all - DKIM (TXT record di default._domainkey): Nilai dari output perintah cat di atas
- DMARC (TXT record di _dmarc):
v=DMARC1; p=quarantine; rua=mailto:dmarc@namadomain.com
Langkah 7: Restart dan Test
sudo systemctl restart postfix
sudo systemctl restart dovecot
sudo systemctl restart opendkim
sudo systemctl enable postfix dovecot opendkim
Verifikasi Instalasi
Cek status semua layanan:
sudo systemctl status postfix
sudo systemctl status dovecot
Test pengiriman email dari command line:
echo "Test email dari server saya" | mail -s "Test" tujuan@gmail.com
Gunakan tool online MXToolbox untuk mengecek konfigurasi MX record, SPF, DKIM, dan blacklist status IP Anda.
Monitoring dan Maintenance
Setelah cara setup email server sendiri selesai, monitoring rutin sangat penting:
- Cek mail log secara berkala:
sudo tail -f /var/log/mail.log - Monitor disk usage: Mailbox yang penuh bisa menyebabkan email bounce.
- Update SSL certificate: Certbot bisa dikonfigurasi untuk auto-renewal:
sudo certbot renew --dry-run - Monitor IP reputation: Cek secara berkala apakah IP Anda masuk blacklist.
- Install SpamAssassin: Untuk filtering email masuk yang mencurigakan.
VPS untuk Email Server Anda!
VPS HostingEkspres dengan IP clean, SSD NVMe, dan support teknis 24/7. Ideal untuk self-hosted email server.
Lihat Paket VPSFAQ: Pertanyaan Umum tentang Setup Email Server Sendiri
Apakah email server sendiri lebih baik dari Google Workspace atau Microsoft 365?
Tergantung kebutuhan. Email server sendiri memberikan kontrol penuh atas data dan privasi, tidak ada biaya per-akun berlangganan, dan kustomisasi tak terbatas. Namun Google Workspace dan Microsoft 365 jauh lebih mudah di-manage, memiliki reputasi IP yang sangat baik (email hampir tidak pernah kena spam), dilengkapi fitur kolaborasi, dan didukung oleh tim profesional 24/7. Untuk bisnis kecil tanpa tim IT, layanan berbayar lebih direkomendasikan. Untuk developer dan bisnis dengan kebutuhan privasi tinggi atau skala besar, self-hosted bisa menjadi pilihan yang lebih baik.
Mengapa email dari server saya masuk spam?
Penyebab paling umum email masuk spam dari self-hosted server: IP belum memiliki reputasi (server baru), SPF/DKIM/DMARC tidak dikonfigurasi dengan benar, tidak ada PTR/reverse DNS record, konten email memiliki pola spam, atau IP sudah masuk blacklist karena penggunaan sebelumnya. Solusi: konfigurasi semua record autentikasi dengan benar, "warm up" IP secara bertahap dengan mengirim volume email yang meningkat perlahan, dan monitor reputasi IP secara berkala.
Berapa biaya menjalankan email server sendiri?
Biaya utama adalah VPS - mulai sekitar Rp 50.000-150.000 per bulan untuk VPS entry level yang cukup untuk puluhan atau ratusan akun email. Bandingkan dengan Google Workspace yang sekitar $6 per akun per bulan. Untuk 10 akun email, VPS sendiri jauh lebih hemat. Untuk volume akun yang lebih besar, penghematan menjadi semakin signifikan. Ditambah biaya domain dan waktu setup awal.
Apakah perlu setup webmail seperti Roundcube?
Webmail seperti Roundcube atau Rainloop memungkinkan pengguna mengakses email langsung dari browser tanpa perlu konfigurasi email client. Ini berguna untuk pengguna non-teknis. Namun jika semua pengguna nyaman dengan email client seperti Outlook atau Thunderbird, webmail tidak wajib. Roundcube adalah pilihan webmail open source paling populer dan relatif mudah diinstall.
Bagaimana cara backup email di server?
Backup email bisa dilakukan dengan: menjadwalkan rsync atau tar untuk mengkompres dan menyalin folder /var/mail/vhosts ke lokasi backup secara berkala, menggunakan borg backup untuk backup inkremental yang efisien, atau menggunakan snapshot VPS yang disediakan oleh hosting provider. Simpan backup di lokasi terpisah dari server utama untuk perlindungan maksimal.
Port mana yang harus dibuka untuk email server?
Port standar untuk email server: Port 25 (SMTP antar server, wajib dibuka), Port 587 (SMTP submission untuk pengguna mengirim email dengan autentikasi), Port 993 (IMAPS - IMAP dengan SSL, direkomendasikan), Port 995 (POP3S - POP3 dengan SSL), dan Port 80/443 (untuk HTTP/HTTPS dan certbot). Port 143 (IMAP tanpa SSL) dan 110 (POP3 tanpa SSL) sebaiknya tidak dibuka untuk alasan keamanan.
Artikel Terkait
Cara Setting SPF, DKIM, dan DMARC untuk Email: Panduan Keamanan Email
Panduan lengkap cara setting SPF, DKIM, dan DMARC untuk keamanan email domain. Pelajari konfigurasi step-by-step untuk mencegah email spoofing, phishing, dan meningkatkan deliverability email.
Baca Selengkapnya →Cara Mengatasi Email Masuk Folder Spam: Panduan SPF, DKIM, dan DMARC
Panduan lengkap cara mengatasi email masuk folder spam. Pelajari cara konfigurasi SPF, DKIM, DMARC, PTR record, dan langkah-langkah meningkatkan deliverability email bisnis Anda.
Baca Selengkapnya →Cara Setup VPS Linux dari Nol: Panduan Lengkap untuk Pemula
Panduan lengkap cara setup VPS Linux dari nol untuk pemula: dari akses SSH pertama, konfigurasi keamanan dasar, instalasi web server Nginx, PHP, MySQL, hingga deploy website WordPress. Step-by-step dengan perintah lengkap.
Baca Selengkapnya →Butuh Hosting untuk Website Anda?
Dapatkan hosting cepat, aman, dan terpercaya dengan harga terjangkau. Gratis domain, SSL, dan support 24/7.
Jangan Ketinggalan Promo!
Subscribe newsletter kami dan dapatkan diskon hingga 50% untuk pembelian pertama kamu.
Gratis, tanpa spam. Bisa unsubscribe kapan saja.