Belajar Mailserver - Konsep Dasar & Arsitektur Utama
Episode 2 of 23

Belajar Mailserver - Konsep Dasar & Arsitektur Utama

Memetakan arsitektur email end-to-end: peran MUA, MTA, MDA, dan mailbox server, bagaimana pesan mengalir dari pengirim ke penerima, port dan protokol yang terlibat, serta di titik mana Postfix, Dovecot, dan Roundcube berdiri di dalam alur tersebut.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Episode 1 menjelaskan mengapa komponen kita ada. Episode 2 menjawab bagaimana mereka bekerja sama. Ini adalah peta arsitektur: siapa melakukan apa, ke mana pesan mengalir, dan di port mana setiap layanan mendengarkan.

Peta ini penting karena setiap konfigurasi di episode 3 sampai 22 hanya masuk akal jika kalian tahu posisinya dalam alur. Kalian tidak perlu menghafal semua parameter — cukup pahami arsitekturnya, dan sisanya tinggal mengikuti pola.

Kita akan membahas alur email dari pengirim ke penerima, peran MTA dan MDA, komponen utama di server kalian, serta port dan protokol yang terlibat.

Alur Email: Dari MUA ke MUA

Email mengalir melalui beberapa "stasiun". Bayangkan mengirim paket lewat pos: kalian menulis surat (client), memasukkannya ke kantor pos terdekat (server pengirim), kantor pos mengirim ke kantor pos tujuan (relay), lalu kurir mengantarkannya ke rumah penerima (mailbox). Skema lengkapnya:

Alur email end-to-end
MUA (klien)  ->  MTA (kirim)  ->  MTA/relay (internet)  ->  MDA/LDA  ->  Mailbox  ->  MUA (baca via IMAP/POP3)
     |              |                                          ^
     +--- SMTP 587 ---+                                        |
                               MX record menunjuk              
                               server penerima di port 25      

Secara berurutan:

  1. MUA (Mail User Agent) — klien seperti Roundcube, Thunderbird, atau aplikasi email — mengirim pesan ke server SMTP kalian.
  2. MTA (Mail Transfer Agent) — Postfix — menerima pesan itu dan meneruskannya ke server tujuan.
  3. MX record di DNS memberi tahu MTA ke mana harus mengirim: ke server penerima.
  4. MDA/LDA (Mail Delivery Agent / Local Delivery Agent) — di server kita ini adalah Dovecot via LMTP — menaruh pesan ke mailbox yang benar.
  5. Klien penerima membaca email lewat IMAP atau POP3.

Dua server berbeda bertanggung jawab atas dua arah: server pengirim mengirim via SMTP, server penerima menyimpan via MDA dan melayani pembacaan via IMAP.

Peran MTA dan MDA

Istilah MTA dan MDA sering tertukar. Bedanya tegas:

  • MTA (Postfix) bertugas mengangkut pesan antar server lewat SMTP. Ia bicara dengan dunia luar — menerima email masuk di port 25, meneruskan email keluar, dan menangani antrian bila server tujuan sibuk.
  • MDA/LDA (Dovecot LMTP) bertugas menaruh pesan ke mailbox milik pengguna yang tepat. Di server kalian, MDA juga bisa menulis ke Maildir, menerapkan filter Sieve, dan menghitung quota.

Postfix sendiri bisa bertindak sebagai MDA untuk mailbox sistem (misalnya via mailbox_command), tapi untuk arsitektur modern kita serahkan delivery ke Dovecot LMTP — persis yang akan kalian rakit di episode 9.

Komponen Utama di Server Kita

Tiga komponen inti series ini menempati posisi berbeda dalam alur:

  • Postfix — MTA. Mendengarkan SMTP masuk (port 25), submission dari klien (port 587), dan SMTPS (port 465). Ia juga menjalankan antrian dan relay keluar.
  • Dovecot — server IMAP/POP3 sekaligus MDA. Mendengarkan IMAP (port 143), IMAPS (port 993), POP3 (port 110), POP3S (port 995), dan LMTP via Unix socket. Ia juga menyediakan socket autentikasi SASL untuk Postfix.
  • Roundcube — webmail berbasis PHP. Bukan bagian dari alur SMTP/IMAP; ia adalah klien yang berbicara IMAP ke Dovecot dan SMTP ke Postfix dari browser.

Selain itu ada pendukung yang akan kita pasang sepanjang series: MariaDB/PostgreSQL untuk virtual users, OpenDKIM untuk penandatanganan, SpamAssassin, dan ClamAV + Amavis untuk filtering.

Port dan Protokol yang Terlibat

Setiap layanan mendengarkan di port tertentu. Ini tabel yang akan kalian rujuk terus-menerus:

PortProtokolDigunakan untukEnkripsi
25SMTPMTA ke MTA (internet)STARTTLS
465SMTPSSubmission klien (legacy)TLS langsung
587SubmissionKlien mengirim emailSTARTTLS
143IMAPKlien membaca mailboxSTARTTLS
993IMAPSKlien membaca mailboxTLS langsung
110POP3Klien unduh emailSTARTTLS
995POP3SKlien unduh emailTLS langsung

Aturan emasnya: port 25 hanya untuk trafik antar server. Klien kalian (Roundcube, Thunderbird, aplikasi HP) harus memakai 587 untuk mengirim dan 993 untuk membaca. Di episode 6 dan 16, aturan ini menjadi bagian dari konfigurasi sekaligus kebijakan firewall. Untuk melihat layanan mana yang sedang mendengarkan di port mana, jalankan ss -tlnp di server.

Peran Relay dan MX Record

Dua konsep jaringan yang menentukan ke mana pesan pergi:

  • Relay — server yang bersedia meneruskan pesan atas nama server atau klien lain. Relaying keluar (outbound) membawa pesan kalian ke server tujuan; relaying masuk (inbound) berarti menerima pesan untuk domain kalian. Bahaya terbesar — open relay — dibahas di episode 16.
  • MX record — catatan DNS yang memberi tahu MTA dunia: "untuk domain ini, kirim email ke server ini". Prioritas numerik menentukan urutan percobaan. Tanpa MX record, tidak ada server lain yang mau menerima email untuk domain kalian.

Memeriksa MX record dengan dig menjadi kebiasaan yang akan menemani sepanjang series:

Periksa MX record domain
dig MX example.com +short

Jika output kosong, tambahkan record di panel DNS kalian — episode 5 akan membahas lengkap bersama SPF, DKIM, dan DMARC.

Satu nuansa penting: ketika Postfix menemukan MX record untuk sebuah domain, ia menyelesaikannya ke daftar host, lalu mencoba koneksi ke tiap host sesuai prioritas. Inilah mengapa prioritas MX yang lebih kecil (misalnya 10) akan selalu dicoba lebih dulu dibanding 20. Pemahaman ini menjelaskan banyak perilaku "server sibuk" yang tampak misterius di log Postfix.

Peta Mental untuk Series Ini

Sebelum melangkah ke episode 3, bawa peta mental ini:

  • Email masuk: port 25 Postfix → (filter) → Dovecot LMTP → Maildir.
  • Email keluar: klien → port 587 Postfix (autentikasi) → (DKIM signing) → internet.
  • Klien membaca: IMAP 993 ke Dovecot.
  • Webmail menampilkan: Roundcube berbicara IMAP dan SMTP atas nama pengguna.

Setiap episode berikutnya tinggal mengisi detail pada stasiun yang berbeda — Postfix di episode 3 dan 4, DNS di 5, TLS di 6, database di 7, webmail di 8, dan seterusnya.

Penutup

Episode 2 selesai. Inti yang harus dibawa pulang:

  • Email mengalir dari MUA → MTA → relay → MDA → mailbox → MUA.
  • MTA (Postfix) mengangkut; MDA (Dovecot LMTP) menyimpan; IMAP/POP3 melayani pembacaan.
  • Port 25 untuk antar server; klien memakai 587 (kirim) dan 993 (baca).
  • MX record menentukan server tujuan; relay membawa pesan keluar masuk.
  • Roundcube adalah klien, bukan bagian dari alur SMTP inti.

Sekarang peta sudah tergambar. Di episode 3 kita mulai praktik nyata: instalasi dan konfigurasi dasar Postfix — memasang paket, memahami main.cf, dan mengenal parameter myhostname, myorigin, mydestination, serta mynetworks. Sampai jumpa di episode 3!