Belajar LDAP - Email & Address Book Integration
Series/Belajar LDAP/Episode 20
Episode 20 of 31

Belajar LDAP - Email & Address Book Integration

Membahas integrasi LDAP dengan layanan email dan address book: lookup user dan alias lewat Postfix, autentikasi IMAP/POP3 di Dovecot, pengisian direktori kontak di Thunderbird dan Outlook, hingga schema extension untuk atribut email.

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

Pendahuluan

Pada episode 19, kalian membuat Linux mengenali user dari LDAP lewat NSS, PAM, dan SSSD. Episode 20 ini memanfaatkan directory yang sama untuk layanan komunikasi: email dan address book. LDAP adalah fondasi alami untuk ini — alamat email, alias, dan informasi kontak memang data direktori. Kalian akan melihat bagaimana Postfix memakai LDAP untuk routing dan alias, Dovecot untuk autentikasi mailbox, serta klien email untuk direktori kontak terpusat.

Integrasi Mail Server dengan Postfix

Postfix adalah MTA (Mail Transfer Agent) yang sangat populer di Debian/Ubuntu dan mendukung LDAP sebagai sumber lookup bawaan. Dengan LDAP, kalian bisa menghapus file alias statis dan memetakan semua data mail ke direktori terpusat.

Virtual Users dari LDAP

Untuk mail server dengan banyak user, pola virtual users paling umum: alamat email dipetakan ke mailbox melalui lookup LDAP. Setiap user punya atribut mail berisi alamat utamanya, dan Postfix menanyakan LDAP saat ada surat masuk.

Contoh lookup domain virtual di /etc/postfix/ldap-virtual-domain.cf:

Linux/etc/postfix/ldap-virtual-domain.cf
server_host = ldap://ldap.example.com
search_base = dc=example,dc=com
query_filter = (&(objectClass=inetOrgPerson)(mail=*@%s))
result_attribute = mail

query_filter mencari entry yang memiliki alamat pada domain yang dituju, dan result_attribute menentukan nilai yang dikembalikan. File .cf ini dirujuk dari main.cf melalui parameter seperti virtual_mailbox_domains.

Alias Expansion dari LDAP

Alias memetakan satu alamat ke satu atau banyak tujuan. Dengan atribut mailForwardingAddress, Postfix bisa melakukan alias expansion langsung dari LDAP:

Linux/etc/postfix/ldap-alias.cf
server_host = ldap://ldap.example.com
search_base = ou=people,dc=example,dc=com
query_filter = (&(objectClass=inetOrgPerson)(mail=%s))
result_attribute = mailForwardingAddress

Jika entry user budi punya mailForwardingAddress: sari@example.com, surat yang ditujukan ke budi@example.com akan diteruskan ke sari@example.com. Skema ini memperbolehkan satu user memiliki banyak alias — misalnya support@ yang diteruskan ke seluruh tim.

Mail Routing

Untuk memutuskan server mana yang menerima surat sebuah domain, Postfix juga bisa bertanya ke LDAP lewat parameter transport. Atribut seperti mailHost menentukan server tujuan. Ini berguna di lingkungan dengan beberapa server mail: satu entry menentukan lokasi fisik mailbox, sehingga routing mengikuti data direktori.

Autentikasi IMAP/POP3 dengan Dovecot

Dovecot adalah server IMAP dan POP3 yang paling umum dipasang bersama Postfix. Keunggulannya bagi integrasi LDAP: autentikasi langsung ke LDAP, tanpa menyimpan password lokal.

Konfigurasi LDAP Dovecot ada di /etc/dovecot/dovecot-ldap.conf.ext:

Linux/etc/dovecot/dovecot-ldap.conf.ext
hosts = ldap.example.com
dn = cn=dovecot,ou=system,dc=example,dc=com
dnpass = secret
base = ou=people,dc=example,dc=com
user_filter = (&(objectClass=inetOrgPerson)(uid=%u))
pass_filter = (&(objectClass=inetOrgPerson)(uid=%u))

hosts menunjuk server LDAP, user_filter dan pass_filter menentukan bagaimana Dovecot mencari user dan memvalidasi password. Bind ke akun sistem khusus (cn=dovecot) adalah praktik yang benar — jangan memakai bind anonim untuk operasi mail.

User Lookups dan Quota

Selain autentikasi, Dovecot mengambil metadata user dari LDAP: home mailbox, UID, dan quota. Mapping dilakukan lewat atribut POSIX yang sudah kalian kenal dari episode 19, plus atribut mail seperti mailQuota untuk batas kapasitas:

LinuxMapping atribut user di Dovecot
user_attrs = uidNumber=uid, gidNumber=gid, \
  homeDirectory=home, mailQuota=quota_rule

Dengan mapping ini, satu perubahan di LDAP langsung memengaruhi mailbox user — termasuk menaikkan atau mencabut kuota tanpa menyentuh konfigurasi Dovecot per user. Ini contoh nyata mengapa directory services mengurangi beban administrasi.

Courier sebagai Alternatif

Sebelum Dovecot mendominasi, Courier IMAP/POP3 juga punya dukungan LDAP lewat file /etc/courier/authldaprc. Konsepnya sama: bind ke LDAP, cari user, validasi password. Jika kalian menemukan infrastruktur lama berbasis Courier, polanya mudah dipindahkan ke Dovecot karena model datanya identik.

Address Book dengan LDAP (CardDAV dan Klien Email)

LDAP adalah standar de facto untuk direktori kontak perusahaan. Satu directory bisa melayani Thunderbird, Outlook, dan Apple Mail sekaligus — setiap klien hanya melakukan search ke base yang sama.

Thunderbird LDAP Address Book

Thunderbird mendukung address book LDAP secara bawaan. Kalian cukup menambah directory baru dengan parameter server dan base:

Parameter address book LDAP di Thunderbird
Name:        Direktori Perusahaan
Hostname:    ldap.example.com
Base DN:     ou=people,dc=example,dc=com
Port:        636 (LDAPS) atau 389 (StartTLS)

Setelah terpasang, pencarian nama di address book akan melakukan search ke LDAP dan menampilkan hasil langsung dari directory. Mapping atribut standar digunakan: cn, mail, telephoneNumber, dan mobile.

Outlook dan Apple Mail/Contacts

Outlook memakai layanan GAL (Global Address List) untuk integrasi LDAP, dan Exchange mempublikasikan GAL-nya lewat protokol LDAP juga. Di sisi Apple, aplikasi Contacts dan Mail bisa memakai directory LDAP langsung — kalian cukup menunjuk ke server LDAP dan memilih base untuk pencarian. Ketiga ekosistem ini membaca atribut yang sama, jadi membangun schema yang konsisten di LDAP memberi nilai tunggal bagi semua klien.

Atribut yang Digunakan untuk Email

Konsistensi atribut adalah kunci integrasi mail. Beberapa atribut standar yang dipakai ekosistem email LDAP:

AtributFungsiDipakai oleh
mailAlamat email utamaPostfix, Dovecot, klien email
mailAlternateAddressAlamat alternatif userPostfix alias
mailHostServer tempat mailboxPostfix routing
mailQuotaBatas kapasitas mailboxDovecot quota
mailForwardingAddressAlamat tujuan penerusanPostfix alias expansion
telephoneNumberNomor telepon kantorAddress book

Perhatikan pola mail vs mailAlternateAddress vs mailForwardingAddress. mail adalah alamat utama yang diterima dan dikirim. mailAlternateAddress adalah alamat tambahan milik user yang sama. mailForwardingAddress menentukan tujuan penerusan — bisa ke user lain atau ke domain eksternal.

Schema Extensions untuk Atribut Custom

Standar atribut di atas berasal dari schema qmail dan postfix yang bisa dimuat ke OpenLDAP. Schema ini menambahkan object class dan atribut khusus mail sehingga entry user bisa membawa seluruh data mail dalam satu record.

Contoh memuat schema postfix ke OpenLDAP:

Memuat schema postfix
sudo ldapadd -Y EXTERNAL -H ldapi:/// \
  -f /etc/ldap/schema/postfix.schema

Setelah schema dimuat, entry user bisa memakai atribut seperti mailForwardingAddress secara langsung:

Entry user dengan atribut mail
dn: uid=budi,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: qmailUser
uid: budi
cn: Budi Setiawan
mail: budi@example.com
mailAlternateAddress: budi.setiawan@example.com
mailForwardingAddress: bsetiawan@example.com
mailHost: mail.example.com

Untuk kebutuhan organisasi tertentu, kalian juga bisa membuat atribut custom sendiri — misalnya mailDepartmentAlias. Aturan terbaiknya: cek dulu schema yang sudah ada sebelum membuat atribut baru, karena schema qmail dan postfix sudah mencakup hampir semua kebutuhan email standar.

Tip

Saat menambah atribut mail ke entry yang sudah ada, ingat bahwa operasi ldapmodify harus menambahkan object class baru (misalnya qmailUser) sebelum atribut yang bergantung padanya bisa disimpan. Urutan add object class lalu add attribute adalah kebiasaan yang aman.

Penutup

Pada episode 20 ini, kalian mengintegrasikan LDAP ke dunia email dan kontak: lookup virtual users dan alias di Postfix, autentikasi serta quota di Dovecot, address book LDAP di Thunderbird, Outlook, dan Apple Mail, pemahaman atribut mail seperti mail, mailAlternateAddress, dan mailForwardingAddress, serta schema extensions dari qmail dan postfix.

Inti yang harus dibawa pulang:

  • LDAP menjadi sumber tunggal untuk user, alias, routing, dan kontak email.
  • mail adalah alamat utama — atribut lain adalah variasi dari alamat itu.
  • Schema qmail dan postfix sudah mencakup kebutuhan email standar sebelum membuat custom.
  • Bind khusus per layanan (cn=dovecot, cn=postfix) lebih aman daripada anonim.

Di episode 21 berikutnya, kalian keluar dari layanan sistem menuju aplikasi: web application integration — bagaimana aplikasi web memakai LDAP untuk autentikasi user, dari PHP dan Python sampai Java, serta pola integrasi di Apache dan Nginx. Konsep bind DN dan atribut yang kalian pakai di sini akan berulang terus di episode itu.

Belajar LDAP - Email & Address Book Integration | Belajar LDAP