Langkah pertama yang sesungguhnya: memasang Postfix, memahami anatomi main.cf, mengenal parameter kunci seperti myhostname, myorigin, mydestination, mynetworks, inet_interfaces, dan relayhost, lalu menjalankan serta memverifikasi layanan lewat postconf, postfix check, dan postfix reload.

Peta arsitektur sudah tergambar di episode 2. Sekarang kita mengotori tangan: instalasi dan konfigurasi dasar Postfix. Episode ini adalah fondasi untuk semua yang mengikuti — DNS, TLS, virtual users, dan anti-spam semuanya menempel pada Postfix.
Kita akan memasang paket Postfix, membedah main.cf sebagai pusat konfigurasi, mengenal parameter kunci, lalu belajar memverifikasi konfigurasi dengan postconf dan postfix check. Di akhir episode, Postfix kalian sudah berjalan sebagai MTA lokal yang sehat.
Postfix tersedia di repo semua distro besar. Untuk Debian/Ubuntu:
sudo apt update
sudo apt install -y postfixSelama instalasi di Debian, kalian akan ditanya tipe konfigurasi. Pilih Internet Site — ini menyiapkan main.cf dengan nilai awal yang wajar. Jika instalasi selesai tanpa prompt (misalnya karena non-interaktif), jangan khawatir; kita akan menyesuaikan semuanya lewat postconf.
Setelah terpasang, verifikasi layanan berjalan:
systemctl status postfix --no-pager
postconf mail_versionpostconf mail_version menampilkan versi Postfix yang aktif — di distro terbaru 2026 ini biasanya 3.11.5. Catat nomornya; kita akan membahas ekosistem versi di episode 21.
Semua kebijakan inti Postfix berada di /etc/postfix/main.cf. Formatnya sederhana: parameter = nilai, satu per baris, dengan spasi di sekitar tanda sama dengan yang opsional. Baris kosong diabaikan, dan nilai bisa disambung dengan indentasi.
Jangan edit file ini secara manual jika bisa dihindari — hampir semua perubahan yang kita lakukan di series ini memakai postconf -e, yang menulis ulang main.cf dengan aman dan mempertahankan format yang konsisten:
sudo postconf -e 'myhostname = mail.example.com'
sudo postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost'Perhatikan penggunaan $myhostname dan $mydomain — Postfix mendukung referensi parameter lain, sehingga konfigurasi tetap ringkas dan konsisten.
Enam parameter berikut adalah alfabet Postfix. Kenali semuanya sebelum lanjut.
Nama host yang dianggap Postfix sebagai identitasnya sendiri. Isi dengan FQDN lengkap, misalnya mail.example.com. Semua banner, Message-ID, dan header Received: memakai nilai ini.
Nama domain yang disisipkan pada email yang dikirim tanpa domain eksplisit — misalnya dari perintah lokal. Nilai yang umum: $myhostname atau $mydomain.
Daftar domain yang dianggap "lokal" — Postfix akan menerima email untuk domain ini dan menyerahkannya ke mailbox lokal. Di arsitektur virtual (episode 7), daftar ini menyusut drastis, tapi untuk sekarang biarkan default.
Daftar jaringan yang dipercaya sebagai relay tanpa autentikasi — biasanya 127.0.0.0/8 dan segmen jaringan internal kalian. Jangan pernah menambahkan jaringan publik di sini, atau kalian membuka open relay (episode 16).
Antarmuka tempat Postfix mendengarkan. all berarti semua antarmuka; loopback-only membatasi ke lokal. Untuk mail server publik, all adalah jawabannya.
Host yang dipakai untuk meneruskan semua email keluar. Kosong berarti kirim langsung ke tujuan. Jika kalian memakai relay SMTP dari provider, isi di sini — episode 18 akan membahas enforce TLS ke relay.
postconf punya dua mode utama: dengan -d menampilkan nilai default bawaan, tanpa argumen menampilkan nilai aktif hasil gabungan default + konfigurasi:
postconf myhostname mydestination mynetworks
postconf -d smtpd_bannerBaris pertama menampilkan tiga parameter yang baru kita kenal; baris kedua menampilkan default bawaan smtpd_banner. Kebiasaan mengecek nilai dengan postconf akan menyelamatkan kalian dari tebakan saat debugging.
Setelah mengubah konfigurasi, jalankan dua ritual wajib:
sudo postfix check
sudo postfix reloadpostfix check memeriksa sintaks dan konsistensi seluruh konfigurasi — jika ada baris bermasalah, ia melaporkannya sebelum kalian merusak layanan yang berjalan. postfix reload menerapkan konfigurasi tanpa menghentikan antrian.
Warning
Jangan pernah memakai postfix start saat service sudah dikelola systemd. Gunakan sudo systemctl reload postfix atau sudo postfix reload. Memulai instance kedua akan memicu konflik socket yang membuat antrian tidak konsisten.
Uji penerimaan dasar dengan mengirim email ke user lokal:
echo "test" | mail -s "Hello" rootKemudian cek antrian dan log untuk memastikan pesan terkirim:
postqueue -p
journalctl -u postfix --since "1 minute ago"Jika antrian kosong dan log menampilkan status=sent, Postfix dasar kalian bekerja.
Episode 3 selesai. Inti yang harus dibawa pulang:
main.cf adalah pusat konfigurasi; ubah lewat postconf -e, bukan edit manual.myhostname, myorigin, mydestination, mynetworks, inet_interfaces, dan relayhost adalah parameter inti.postconf menampilkan nilai aktif; postconf -d menampilkan default bawaan.postfix check sebelum reload, dan biarkan systemd mengelola service.Postfix sudah berdiri. Di episode 4 kita memasang pasangannya yang tak kalah penting: Dovecot — server IMAP/POP3 yang akan menyimpan mailbox kalian — lengkap dengan struktur konfigurasi dovecot.conf, parameter mail_location, dan verifikasi doveconf -n. Sampai jumpa di episode 4!