Postfix dan Dovecot adalah dua perangkat lunak server (Open Source) yang umum digunakan dalam lingkungan email.
Postfix adalah program server email yang bertanggung jawab untuk menerima, mengirim, dan menyampaikan email dari dan ke pengguna. Dovecot adalah program server IMAP dan POP3 yang memungkinkan pengguna untuk mengakses email mereka dari klien email seperti Microsoft Outlook atau Mozilla Thunderbird.
Berikut adalah beberapa informasi singkat tentang keduanya:
1. Postfix:
- Postfix adalah program server transfer email (MTA - Mail Transfer Agent) yang dikembangkan oleh Wietse Venema.
- Tujuannya adalah untuk mengirim dan menerima email di antara sistem email.
- Postfix dapat dikonfigurasi untuk berbagai keperluan, termasuk mengamankan pengiriman email dengan SSL/TLS, mengelola antrian email yang besar, dan memblokir spam.
- Konfigurasi dasar Postfix meliputi pengaturan domain, penerimaan email eksternal, dan pengiriman email ke pengguna lokal.
2. Dovecot:
- Dovecot adalah program server IMAP dan POP3 yang dikembangkan oleh Timo Sirainen.
- Tujuannya adalah untuk memungkinkan pengguna untuk mengakses email mereka melalui protokol IMAP (Internet Message Access Protocol) dan POP3 (Post Office Protocol version 3).
- Dovecot menyimpan email pengguna di server dan mengelola koneksi dari klien email.
- Dovecot dapat dikonfigurasi untuk menyertakan opsi keamanan seperti SSL/TLS untuk melindungi akses email pengguna.
Keduanya sering kali digunakan bersama-sama dalam suatu sistem email. Postfix bertanggung jawab untuk mengirim dan menerima email di level transfer (SMTP), sementara Dovecot digunakan untuk mengelola akses pengguna ke email mereka melalui protokol IMAP atau POP3.
Postfix dan Dovecot Sebagai Mail Server.
Dengan asumsi anda telah memiliki prasyarat sebagai berikut:
- Telah melakukan konfigurasi MX Record di DNS Record domain anda.
- Telah melakukan konfigurasi SPF (Sender Policy Framework) di DNS Record domain anda.
- Telah melakukan konfigurasi DMARC (Domain-based Message Authentication, Reporting, and Conformance) di DNS Record domain anda.
- Telah melakukan konfigurasi DKIM (Domain Keys Identified Mail) di DNS Record domain anda, dan OpenDKIM sebagai Mail Filter.
- Memiliki Sertifikat SSL Let's Encrypt.
Konfigurasi Postfix.
1. Login ke dalam Sistem Operasi Linux atau Unix menggunakan SSH sebagai root.su
2. Install Postfix, Dovecot, dan SASL2 Utility.
apt install postfix sasl2-bin dovecot-common dovecot-imapd mailutils software-properties-common php-net-ldap2 php-net-ldap3
3. Edit file aliases di /etc.
nano /etc/aliases
Copy paste text berikut kedalam editor nano.
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
Buat aliases baru.
newaliases
4. Hapus konfigurasi dasar postfix.
rm /etc/postfix/main.cf
5. Buat baru konfigurasi postfix.
nano /etc/postfix/main.cf
6. Copy paste text berikut kedalam editor nano.
compatibility_level = 3.8
queue_directory = /var/spool/postfix
data_directory = /var/lib/postfix
readme_directory = /usr/share/doc/postfix
mail_spool_directory = /var/spool/mail
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
home_mailbox = Maildir/
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
setgid_group = postdrop
mail_owner = postfix
myhostname = openbsd.lynixnetwork.com
mydomain = openbsd.lynixnetwork.com
myorigin = $myhostname
smtpd_banner = $myhostname ESMTP.
inet_interfaces = all
inet_protocols = ipv4
mynetworks = 0.0.0.0/0
biff = no
append_dot_mydomain = no
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
debug_peer_level = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
smtpd_use_tls=yes
smtp_tls_security_level = encrypt
smtpd_tls_cert_file=/etc/letsencrypt/live/openbsd.lynixnetwork.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/openbsd.lynixnetwork.com/privkey.pem
smtpd_tls_loglevel = 1
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
queue_directory = /var/spool/postfix
data_directory = /var/lib/postfix
readme_directory = /usr/share/doc/postfix
mail_spool_directory = /var/spool/mail
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
home_mailbox = Maildir/
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
setgid_group = postdrop
mail_owner = postfix
myhostname = openbsd.lynixnetwork.com
mydomain = openbsd.lynixnetwork.com
myorigin = $myhostname
smtpd_banner = $myhostname ESMTP.
inet_interfaces = all
inet_protocols = ipv4
mynetworks = 0.0.0.0/0
biff = no
append_dot_mydomain = no
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
debug_peer_level = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
smtpd_use_tls=yes
smtp_tls_security_level = encrypt
smtpd_tls_cert_file=/etc/letsencrypt/live/openbsd.lynixnetwork.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/openbsd.lynixnetwork.com/privkey.pem
smtpd_tls_loglevel = 1
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
7. Edit dan sesuaikan isi file master.cf di /etc/postfix. Atau bisa copy isi dari file ini.
nano /etc/postfix/master.cf
smtp inet n - y - - smtpd
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=no
-o smtpd_client_restrictions=$mua_client_restrictions
-o smtpd_helo_restrictions=$mua_helo_restrictions
-o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=no
-o smtpd_client_restrictions=$mua_client_restrictions
-o smtpd_helo_restrictions=$mua_helo_restrictions
-o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=no
-o smtpd_client_restrictions=$mua_client_restrictions
-o smtpd_helo_restrictions=$mua_helo_restrictions
-o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=no
-o smtpd_client_restrictions=$mua_client_restrictions
-o smtpd_helo_restrictions=$mua_helo_restrictions
-o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
Tambahkan text berikut di baris paling akhir.
dovecot unix - n n - - pipe
flags=DRhu user=email:email argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
flags=DRhu user=email:email argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
Konfigurasi Dovecot.
1. Konfigurasi Sertifikat SSL di Dovecot.
nano /etc/dovecot/conf.d/10-ssl.conf
Sesuaikan dengan konfigurasi Sertifikat SSL domain anda.
ssl = yes
ssl_cert = </etc/letsencrypt/live/openbsd.lynixnetwork.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/openbsd.lynixnetwork.com/privkey.pem
ssl_client_ca_dir = /etc/letsencrypt/live/openbsd.lynixnetwork.com
ssl_cert = </etc/letsencrypt/live/openbsd.lynixnetwork.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/openbsd.lynixnetwork.com/privkey.pem
ssl_client_ca_dir = /etc/letsencrypt/live/openbsd.lynixnetwork.com
2. Force SSL/TLS encryption.
nano /etc/dovecot/conf.d/10-auth.conf
Copy paste text berikut kedalam editor nano.
disable_plaintext_auth = yes
3. Edit file konfigurasi utama Dovecot.
nano /etc/dovecot/conf.d/10-master.conf
Uncomment bagian Postfix di paragraph service auth.
4. Atur Mail Location Settings.
nano /etc/dovecot/conf.d/10-mail.conf
Pastikan nilai dari mail_location seperti ini.
mail_location = maildir:~/Maildir
5. Restart Service postfix dan dovecot.
systemctl restart postfix
systemctl restart dovecot
Manajemen SASL-Auth User.
1. Membuat SASL-Auth user.
saslpasswd2 -d -u openbsd.lynixnetwork.com lynix
Test sending email ke Gmail menggunakan port submission 587 dengan username dan password yang digunakan untuk login ke dalam sistem operasi Linux atau Unix anda (tidak menggunakan user root).
Konfigurasi Postfix dan Dovecot Sebagai Mail Server telah selesai dan sudah siap digunakan.
Postfix dan Dovecot - Lynix
May 9, 2024
May 9, 2024