GNU/Linux >> Belajar Linux >  >> Debian

Instal server email Postfix dan Dovecot di Ubuntu atau Debian

Mengatur Server Smtp Postfix di Ubuntu/Debian

Anda memiliki nama domain sendiri dan vps/server khusus Anda sendiri dan ingin menggunakan nama domain untuk email. Jadi, Anda perlu menyiapkan server email menggunakan server smtp dan server imap/pop.

Tutorial ini menunjukkan cara men-setup Postfix (server smtp) dan Dovecot (server imap/pop). Tugas server smtp adalah menerima surat masuk dan menyampaikan surat keluar dari pengguna yang berwenang pada sistem.

Sedangkan Dovecot memungkinkan pengguna yang berwenang untuk mengakses Kotak Masuk mereka dan membaca email apa pun yang ada.

Konfigurasi Sederhana - Kami tidak melakukan ini

Dalam konfigurasi paling sederhana untuk Postfix, cukup tentukan nama domain Anda "xyz.com" di parameter konfigurasi "mydestination" maka Anda akan dapat menerima email untuk [email protected] jika ada pengguna (linux) bernama silver pada sistem.

Teknik ini sederhana tetapi dengan kelemahan berat. Pertama, Anda perlu membuat akun pengguna unix baru untuk setiap alamat email baru yang kami butuhkan.

Kedua pengguna harus login dengan password sistem mereka. Jadi ini bukan strategi yang sangat fleksibel untuk menyiapkan akun email.

Secara terpisah Anda dapat mengkonfigurasi Dovecot untuk membaca email masuk dari direktori tempat Postfix menyimpannya (/var/mail secara default). Ada artikel di DigitalOcean yang menunjukkan cara mengatur postfix dengan dovecot seperti itu.

Kami akan menyiapkan hal-hal sedemikian rupa sehingga Anda dapat dengan cepat membuat alamat email hanya dengan menuliskannya dalam file bersama dengan kata sandinya.

Kami akan menambahkan domain sebanyak yang kami suka dan membuat email sebanyak mungkin dan semuanya akan dienkripsi dan diautentikasi.

Karena akun email yang akan kita buat tidak terkait dengan pengguna sistem atau domain sistem apa pun, mereka disebut "pengguna virtual" dan "domain virtual". Berarti virtual, yang tidak terkait dengan hal khusus sistem apa pun.

Bagaimana cara kerjanya? - Jargon teknis

1. Semua surat masuk yang ditujukan ke server Anda akan diterima oleh Postfix (SMTP) dan kemudian diserahkan ke Dovecot (LMTP) untuk disimpan di Inbox.

Ini lebih baik karena layanan lmtp bawaan dovecot menawarkan lebih banyak fitur seperti kuota, izin, struktur direktori fleksibel untuk kotak surat, dll.

Surat masuk (Dari suatu tempat) -> Postfix (SMTP) -> Dovecot (LMTP) -> Kotak Surat/Kotak Masuk
Dan karena Postfix ini dikurangi menjadi hanya "agen transmisi" yang hanya memindahkan surat masuk dan keluar, dan tidak ada yang lain.

2. Semua surat keluar dikirim melalui Postfix. Tetapi hanya dari akun yang diautentikasi.

Surat keluar (Thunderbird) -> Postfix (SMTP) -> Tujuan (SMTP) seperti gmail

3. Dovecot akan menyediakan layanan IMAP/POP untuk memungkinkan klien email membaca Kotak Masuk.

Thunderbird <==> Dovecot (IMAP) <==> Kotak Masuk

4. Dovecot secara eksklusif menyediakan mekanisme otentikasi untuk Postfix melalui SASL.
Akun email - nama pengguna + kata sandi akan disimpan dalam file.

Jika Anda ingin mengatur domain dan akun email dalam database (bukan file), ikuti tutorial ini di linode.com

Siapkan data MX untuk domain

Sebelum melangkah lebih jauh, pastikan bahwa data MX untuk domain Anda yang akan Anda gunakan dengan server email Anda, telah disetel dengan benar. Sebagian besar penyedia server seperti Linode menyediakan antarmuka yang mudah untuk mengatur entri zona untuk data mx.

Jika domain Anda adalah example.com, mx Anda dapat berupa mail.example.com misalnya. Gunakan perintah dig untuk memverifikasi -

# Temukan server MX (pertukaran surat)$ dig MX amazon.com +short5 amazon-smtp.amazon.com.# Temukan alamat ip server mx$ dig amazon-smtp.amazon.com +short207.171.184 .25

Pastikan bahwa alamat ip MX (mail server) Anda adalah dari server yang akan Anda atur postfix dan dovecot.

Konfigurasi server email Postfix di ubuntu langkah demi langkah

Hal pertama yang harus disiapkan adalah Postfix. Jangan lupa bahwa dalam pengaturan kami, Postfix akan mengirimkan semua surat keluar, tetapi untuk semua surat masuk, Postfix akan menyerahkannya ke Dovecot untuk penyimpanan dan kemudian diakses oleh klien email.

Hal-hal yang perlu diketahui terlebih dahulu

1. Postfix mencatat semua tindakannya dalam file bernama /var/log/mail.log. Periksa untuk informasi yang berguna dan hemat waktu dalam mendiagnosis masalah.

2. Perintah postconf adalah alat untuk mengintip konfigurasi Postfix. Ini mencantumkan semuanya dalam format name=value secara baris. Jadi gunakan perintah grep untuk menemukan apapun yang dibutuhkan.

3. Semua parameter konfigurasi Postfix terletak pada file /etc/postfix/main.cf
Parameter dijelaskan di halaman manual yang terdapat di - "man 5 postconf"

Instal dan Konfigurasi Postfix

Oke, jadi jika Anda belum melakukannya, instal Postfix. Itu ada di repositori sehingga Anda tidak perlu mencari di tempat lain kecuali Anda menginginkan sesuatu yang lebih baru.

$ sudo aptitude install postfix

Jangan khawatir, sisanya tidak akan semudah itu. Setelah menginstal Postfix, Anda mungkin ingin memeriksa versinya. Berikut adalah perintah untuk melakukannya.

$ postconf mail_versionmail_version =2.10.2$ postconf | grep mail_versionmail_version =2.10.2

Konfigurasikan main.cf

Pada bagian ini kita akan mengkonfigurasi beberapa hal dalam file konfigurasi utama Postfix yang terletak di /etc/postfix/main.cf .

Ini termasuk nama host, parameter untuk autentikasi SASL, soket unix untuk dovecot lmtp dan layanan autentikasi sasl dovecot dan daftar domain_mailbox_virtual kami yang menjadi tanggung jawab Postfix untuk menerima surat masuk.

Parameter yang rumit !!!

Parameter berikut adalah 3 parameter yang sangat membingungkan yang perlu Anda pahami dan konfigurasikan dengan benar untuk menghindari masalah yang tidak terduga.

myhostnamemydomainmyorigin

Anda dapat menghosting beberapa domain di server Anda, misalnya abc.com + efg.com + xyz.com. Anda harus menggunakan salah satunya sebagai domain utama dan menggunakannya untuk "asal saya". Bidang myorigin adalah bidang yang dikonfigurasi secara otomatis saat postfix menginstal dan menanyakan domain server kepada Anda.

Secara default myorigin dikonfigurasi untuk menunjuk ke /etc/mailname sehingga Anda dapat mengisi domain default Anda di /etc/mailname atau menentukan dalam file konfigurasi secara langsung.

Domain yang ditentukan dengan myorigin digunakan untuk email yang dihasilkan oleh Postfix. Misalnya ketika gagal mengirim email, itu akan membalas dengan alamat dari "Sistem Pengiriman Surat".

Parameter myhostname seharusnya berisi "nama server email" Anda seperti yang ditunjukkan oleh catatan mx Anda. Ini adalah nama yang digunakan Postfix dalam komunikasi smtp untuk mengidentifikasi dirinya. Misalnya "HELO myhostname".

Jika Anda menyetel myhostname ke domain tertentu, maka Anda seharusnya dapat menyiapkan data SPF untuk domain tersebut nanti. Ini ditentukan oleh spesifikasi SPF.

Anda mungkin juga meninggalkan myhostname hanya "localhost" dan semuanya akan tetap berfungsi dengan baik. Namun dalam hal ini server Anda akan menggunakan pesan seperti "HELO localhost" saat menghubungkan ke server email lain seperti gmail, dan gmail akan dengan marah menolak email dengan menyebutnya tidak diminta.

Oleh karena itu, disarankan untuk mengonfigurasi myhostname ke nama domain yang tepat dengan catatan A dan TXT (SPF) yang valid. Pastikan juga untuk mengatur myorigin.

Contoh konfigurasi -

myhostname =mail.yoursite.commyorigin =yoursite.com

Secara teknis, pada satu server, Anda dapat menggunakan nilai myorigin yang sama untuk myhostname. Namun dalam berbagai penyiapan yang melibatkan beberapa server terpisah, nilai bidang ini perlu disiapkan dengan lebih hati-hati.

Untuk mempelajari lebih lanjut, baca panduan konfigurasi dasar Postfix.

Konfigurasikan soket LMTP di main.cf

Parameter virtual_transport memberitahu postfix untuk meneruskan/mengangkut mail ke dovecot untuk domain-domain yang terdaftar di "virtual_mailbox_domains".

# Menyerahkan pengiriman lokal ke LMTPvirtual_transport Dovecot =lmtp:unix:private/dovecot-lmtp

Jalur "private/dovecot-lmtp" relatif terhadap "/var/spool/postfix/". Soket unix yang sebenarnya harus dikonfigurasi nanti di bagian konfigurasi Dovecot.

Konfigurasikan SASL di main.cf

Di sini kita mengatur parameter untuk mengatur otentikasi berbasis SASL untuk Postfix. Postfix secara internal mampu berbicara dengan "layanan SASL Dovecot" melalui soket unix.

#Mengaktifkan SMTP untuk pengguna yang diautentikasi, dan menyerahkan otentikasi ke Dovecotsmtpd_sasl_type =dovecotsmtpd_sasl_path =private/authsmtpd_sasl_auth_enable =yessmtpd_tls_auth_only =yes

Untuk memeriksa plugin smtpd_sasl_type apa saja yang didukung oleh instalasi Postfix Anda, jalankan perintah berikut.

# postconf -acyrusdovecot

Tambahkan domain kotak surat di main.cf

Di sini kita menentukan domain yang Postfix akan "menerima" surat masuk. Jadi tentukan semua domain inhouse Anda di sini. Kami akan menempatkan domain dalam file bernama virtual_mailbox_domains.

#Domain virtual, pengguna, dan aliasesvirtual_mailbox_domains =/etc/postfix/virtual_mailbox_domains# virtual_mailbox_maps =/etc/postfix/virtual_mailbox_maps
# nano /etc/postfix/virtual_mailbox_domains

Masukkan domain, satu baris

example.com OKsitussaya.com OK

Kemudian jalankan postmap pada file tersebut. Ini akan membuat file bernama virtual_mailbox_domains.db yang akan digunakan oleh Postfix

# postmap /etc/postfix/virtual_mailbox_domains

Tabel virtual_mailbox_maps dapat digunakan untuk menentukan alamat email yang valid untuk domain yang terdaftar di virtual_mailbox_domains.

Namun ini tidak perlu, karena otentikasi SASL melalui Dovecot akan melakukan verifikasi.

Aktifkan SMTPS dan MSA - master.cf

Selain layanan smtp pada port 25, kami perlu mengaktifkan lebih banyak layanan. SMTPS akan beroperasi pada port 465 dan MSA (Mail Submission Agent) akan beroperasi pada port 587. SMTP menggunakan jenis autentikasi SSL/TLS dan MSA menggunakan STARTTLS.

Temukan bagian "submission" dan "smtps" dalam file bernama /etc/postfix/master.cf dan batalkan komentar pada baris pertama. YA HANYA LINE PERTAMA

...pengajuan inet n - - - - smtpd# -o syslog_name=postfix/submission# -o smtpd_tls_security_level=encrypt# -o smtpd_sasl_auth_enable=yes# -o smtpd_reject_unlisted_cli_recipient=restricpd_recipient=smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject# -o milter_macro_daemon_name=ORIGINATINGsmtps inet n - - - - 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=permit_sasl_authenticated,reject# -o milter_macro_daemon_name=ORIGINATING...

Baris "pengiriman" mengaktifkan layanan MSA pada port 587 dan "smtps" memulai layanan SMTP berkemampuan SSL pada port 465.

Anda mungkin ingin mengaktifkan hanya layanan pengiriman, karena SMTPS sekarang tidak digunakan lagi dan dipertahankan hanya untuk kompatibilitas dengan aplikasi Microsoft yang tidak mendukung STARTTLS.

Karena spesifikasi historis, secara teknis port 25, 465, 587 melakukan hal yang hampir sama. Namun seiring perkembangannya, hal-hal tersebut didefinisikan ulang.

Port 25 - untuk MTA (Mail transmission Agent). Layanan MTA memungkinkan MTA dan MSA lain untuk terhubung dan mengirimkan email.

Port 465/587 - untuk MSA (agen pengiriman surat). Layanan MSA adalah untuk MUA (agen pengguna email seperti thunderbird) untuk menghubungkan dan menyimpan email untuk pengiriman.

Thunderbird (MUA) -> server Anda smtp(MSA/MTA) -> gmail (MTA) -> Kotak Masuk

Mulai Ulang Postfix

Kami selesai mengkonfigurasi Postfix. Sekarang restart saja.

$ Sudo service postfix restart

Instal dan Konfigurasikan Dovecot

Kita selesai menginstal dan mengkonfigurasi Postfix. Yang tersisa adalah Dovecot, server IMAP/POP. Tapi Dovecot melakukan lebih dari itu seperti yang akan kita lihat sekarang.

Hal-hal yang perlu diketahui

1. Dovecot diberikan tempat untuk menyimpan surat masuk yang diserahkan oleh Postfix.

2. Akun pengguna sistem terpisah harus dibuat dan diberikan kepada dovecot sehingga dovecot dapat membaca/menulis direktori penyimpanan surat. Dalam contoh kita, pengguna disebut "vmail".

3. Dovecot akan menghosting layanan IMAP dan POP yang aman untuk memungkinkan klien email membaca Kotak Masuk.

4. Dovecot akan menyediakan layanan otentikasi SASL ke Postfix melalui soket unix. Nama pengguna/kata sandi yang sama akan berfungsi dengan Postfix (server SMTP) dan Dovecot (server IMAP/POP)

5. Kami akan menggunakan alamat email lengkap ([email protected]) sebagai nama pengguna dan juga menetapkan sandi terenkripsi.

Instal Dovecot

Pertama instal dovecot dan beberapa paket yang diperlukan. Instal paket dan paket inti dovecot untuk dukungan imap, pop, dan lmtp.

# sudo apt-get install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd

Periksa versi

# dovecot --version2.1.7

Konfigurasi Dovecot

Sekarang saatnya mengkonfigurasi Dovecot untuk mengatur akun pengguna dan juga soket SASL untuk mengaktifkan Postfix untuk melakukan otentikasi. Semua file konfigurasi terletak di dalam /etc/dovecot/conf.d/ direktori.

Periksa /etc/dovecot/dovecot.conf file dan pastikan bahwa file protokol disertakan. Ini mencakup file konfigurasi untuk berbagai protokol yang mengaktifkannya.

# Aktifkan protokol yang diinstal!include_try /usr/share/dovecot/protocols.d/*.protocol

Protokol yang diinstal dapat dicantumkan seperti ini

# ls -l /usr/share/dovecot/protocols.dtotal 12-rw-r--r-- 1 root root 28 Nov 30 15:44 imapd.protocol-rw-r--r-- 1 root root 28 Nov 30 15:44 lmtpd.protocol-rw-r--r-- 1 root root 28 Nov 30 15:44 pop3d.protocol#

Konfigurasikan lokasi Kotak Masuk - 10-mail.conf

Kami memberi tahu dovecot untuk menyimpan email di dalam direktori /var/mail/vhosts dan selanjutnya menempatkannya di subdirektori untuk setiap domain dan pengguna di bawah domain tersebut.

Email untuk [email protected] akan disimpan di /var/mail/vhosts/example.com/someone/

Edit file 10-mail.conf

#mail_location =mbox:~/mail:INBOX=/var/mail/%umail_location =maildir:/var/mail/vhosts/%d/%n

Buat direktori /var/mail/vhosts

# mkdir /var/mail/vhosts/

Sekarang buat di dalam direktori itu buat direktori untuk setiap domain tempat Anda ingin menerima email di server ini.

# mkdir /var/mail/vhosts/example.com

Buat pengguna untuk membaca email

Sekarang buat pengguna dengan nama dan grup vmail dan uid dan gid 5000. Meskipun uid dapat berupa angka apa saja, kami memilih 5000 untuk menunjukkan bahwa itu bukan pengguna biasa. Opsi "-r" selanjutnya menetapkan bahwa pengguna ini adalah pengguna tingkat sistem dan tidak memiliki login apa pun.

$ groupadd -g 5000 vmail$ useradd -r -g vmail -u 5000 vmail -d /var/mail/vhosts -c "pengguna email virtual"

Berikan vmail hak penuh untuk membaca/menulis di /var/mail/vhosts

$ chown -R vmail:vmail /var/mail/vhosts/

Aktifkan layanan IMAPS dan POP3S - 10-master.conf

Sekarang beri tahu dovecot untuk memulai layanan imaps dan pops. Edit file 10-master.conf dan aktifkan port untuk layanan dan tentukan ssl menjadi ya.

Biarkan port untuk imap dan pop dikomentari karena kami tidak ingin meng-host layanan yang tidak aman.

Untuk IMAPS - IMAP Aman

service imap-login { inet_listener imap { #port =143 } inet_listener imaps { port =993 ssl =yes }

Untuk POP3S - POP3 Aman

service pop3-login { inet_listener pop3 { #port =110 } inet_listener pop3s { port =995 ssl =yes }}

Konfigurasi soket lmtp - 10-master.conf

Halaman wiki dovecot di LMTP menunjukkan contoh sederhana tentang cara mengatur soket lmtp di /etc/dovecot/conf.d/10-master.conf berkas.

Temukan bagian bernama "service lmtp" dan isi path ke file tempat soket unix akan dibuat. Jalur yang sama ini digunakan oleh postfix untuk pengaturan "virtual_transport".

service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode =0600 user =postfix group =postfix }.....

Soket harus memiliki hak istimewa user:group postfix agar proses Postfix dapat menggunakannya.

Konfigurasikan soket otentikasi SASL

Temukan bagian "auth layanan" dan di dalamnya tambahkan yang berikut ini. Jika sudah ada, tinggal modifikasi saja.

service auth {..... # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode =0666user=postfixgroup=postfix }.....

Konfigurasikan autentikasi

Buka file conf.d/10-auth.conf dan batalkan komentar pada baris disable_plaintext_auth memastikan bahwa itu disetel ke ya. Ini memastikan bahwa enkripsi TLS/SSL selalu digunakan untuk tujuan autentikasi.

disable_plaintext_auth =yes

Temukan pengaturan bernama auth_mechanism dan batalkan komentar. Pengaturan ini menentukan format di mana kata sandi akan diberikan ke dovecot.

auth_mechanisms =login biasa

Tentukan file otentikasi

Hal terakhir yang harus dikonfigurasi dalam file 10-auth.conf adalah database kata sandi. Secara default dovecot dikonfigurasi untuk mengautentikasi menggunakan "pengguna sistem" (pengguna linux dari /etc/passwd).

Kami akan memberi tahunya untuk mengautentikasi menggunakan file terpisah yang berisi nama pengguna dan kata sandi

Temukan dan beri komentar pada baris auth-system.conf.ext dan batalkan komentar pada baris auth-passwdfile. Seharusnya terlihat seperti ini

#!sertakan auth-system.conf.ext#!sertakan auth-sql.conf.ext #!sertakan auth-ldap.conf.ext!sertakan auth-passwdfile.conf.ext#!sertakan auth-checkpassword.conf .ext#!include auth-vpopmail.conf.ext#!include auth-static.conf.ext

Selanjutnya edit file auth-passwdfile.conf.ext

/etc/dovecot/conf.d# nano auth-passwdfile.conf.ext

Buatlah terlihat seperti ini.

passdb { driver =file passwd args =skema=PLAIN username_format=%u /etc/dovecot/dovecot-users}userdb { driver =static# args =username_format=%u /etc/dovecot/dovecot-usersargs =uid =vmail gid=vmail home=/var/mail/vhosts/%d/%n # Bidang default yang dapat ditimpa oleh file passwd #default_fields =quota_rule=*:storage=1G # Ganti bidang dari file passwd #override_fields =home=/home/virtual/%u}

Bagian passdb memberi tahu dovecot di mana mencari nama pengguna dan kata sandi untuk mengautentikasi. Berkasnya adalah /etc/dovecot/dovecot-users.

username_format "%u" memberitahu bahwa seluruh alamat email akan digunakan sebagai nama pengguna. Ini berarti bahwa ketika masuk dari klien email, Anda akan menggunakan alamat email sebagai nama pengguna untuk smtp dan imap/pop.

Nama pengguna dan kata sandi disimpan dalam file bernama /etc/dovecot/dovecot-users yang akan kita buat pada langkah selanjutnya

Bagian userdb memberi tahu dovecot tempat membaca/menulis email untuk pengguna tertentu. Kami menggunakan struktur direktori tetap /var/mail/vhosts/%d/%n

Jadi email untuk pengguna [email protected] akan dibaca dari direktori berikut -

/var/mail/vhosts/example.com/someone/

Buat Kotak Surat atau Akun Pengguna

Buat file teks biasa sederhana di dalam /etc/dovecot/ dan isi dengan nama pengguna dan kata sandi dalam format user:password. Ini contohnya

# cat dovecot-users [email protected]:{plain}[email protected]:{MD5-CRYPT}$1$JdyRMcO6$qUwKZT40EVp/oIpVfAEXF1

Hasilkan kata sandi menggunakan perintah doveadm seperti ini. Hash kata sandi yang dikembalikan oleh perintah di atas harus disalin sebagaimana adanya ke dalam file dovecot-users.

# doveadm pw -s MD5-CRYPTMasukkan kata sandi baru:Ketik ulang kata sandi baru:{MD5-CRYPT}$1$JdyRMcO6$qUwKZT40EVp/oIpVfAEXF1#

File kata sandi juga dapat berisi informasi tentang direktori dan izin kotak surat pengguna individu. Periksa artikel wiki tentang format file passwd.

Aktifkan SSL di dovecot - 10-ssl.conf

Buka file /etc/dovecot/conf.d/10-ssl.conf dan batalkan komentar pada baris ssl dan setel ke diperlukan

# Dukungan SSL/TLS:ya, tidak, diperlukan. ssl =diperlukan

Pastikan juga bahwa ssl_cert dan ssl_key menunjuk ke file yang tepat (ini secara default)

ssl_cert =Siapkan file log dovecotDovecot secara default mencatat ke /var/log/syslog yang sudah menjadi gudang log raksasa dan akan menyulitkan pencarian di sana. Cara yang lebih rapi adalah membuat log dovecot ke file terpisah yang lebih mudah dilacak. Konfigurasi terletak pada file /etc/dovecot/conf.d/10-logging.confBuka file dan edit variabel log_path dan atur ke /var/log/dovecot.logPerhatikan juga bahwa info_log_path dan debug_log_path akan menggunakan hal yang sama untuk login informasi dan pesan debugging masing-masing. Jika Anda ingin memisahkannya lebih jauh, setel file log untuk masing-masing.[pre]# File log yang akan digunakan untuk pesan kesalahan. "syslog" log ke syslog,# /dev/stderr log ke stderr.log_path =/var/log/dovecot.log# File log yang digunakan untuk pesan informasi. Defaultnya adalah log_path.#info_log_path =# File log yang digunakan untuk pesan debug. Default ke info_log_path.#debug_log_path =

Setup logrotate

Jika kita mengubah file log Dovecot, maka perlu untuk mengonfigurasi logrotate untuk memastikan bahwa file log dibuat dalam beberapa bagian, bukan satu file besar.

$ nano /etc/logrotate.d/dovecot

Dan isi berikut ini

/var/log/dovecot*.log { missingok notifempty delaycompress sharedscripts postrotate doveadm log buka kembali endscript}

Untuk informasi lebih lanjut, periksa halaman wiki dovecot tentang logging.

Mulai ulang Dovecot

Kerja bagus. Semua konfigurasi selesai. Sekarang mulai ulang dovecot

$ sudo service dovecot restart

Uji

Sekarang setelah Anda selesai mengonfigurasi semuanya, saatnya untuk menguji. Gunakan klien email seperti Thunderbird dan konfigurasikan koneksi SMTP dan IMAP.

Kemudian coba kirim email ke beberapa akun lain seperti gmail. Jika Anda menerima email di gmail, coba balas kembali. Jika email muncul di klien email Anda, Anda selesai. Selamat!

Memeriksa port yang terbuka dengan netstat

Gunakan perintah netstat untuk memeriksa apakah layanan aktif dan berjalan

# netstat -ltnpKoneksi Internet aktif (hanya server)Proto Recv-Q Send-Q Alamat Lokal Alamat Asing Status PID/Nama programtcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 28791/dovecottcp 0 0 0.0.0.0 :995 0.0.0.0:* DENGARKAN 28791/dovecottcp 0 0 127.0.0.1:3306 0.0.0.0:* DENGARKAN 3315/mysqldtcp 0 0 0.0.0.0:587 0.0.0.0:* DENGARKAN 16218/mastertcp 0 0 0.0.0.0:110 0.0.0.0:* DENGARKAN 28791/dovecottcp 0 0 0.0.0.0:143 0.0.0.0:* DENGARKAN 28791/dovecottcp 0 0 0.0.0.0:80 0.0.0.0:* DENGARKAN 3337/nginxtcp 0 0 0.0.0.0:465 0.0. 0.0:* DENGARKAN 16218/mastertcp 0 0 0.0.0.0:22 0.0.0.0:* DENGARKAN 3252/sshdtcp 0 0 0.0.0.0:25 0.0.0.0:* DENGARKAN 16218/master

Pada output di atas kita dapat melihat bahwa dovecot memegang port 993, 995, 110 dan 143
Sedangkan Postfix (master) memegang port 587, 465 dan 25

Pemecahan Masalah

1. mail.log kosong

Di server Ubuntu, file /var/log/mail.log mungkin benar-benar kosong. Ini terjadi karena masalah izin dan dapat diperbaiki dengan perintah berikut

# ls -l /var/log/mail.log-rw-r----- 1 messagebus adm 0 Apr 26 2013 /var/log/mail.log

Pemilik file yang benar harus syslog. Setel izin kepemilikan yang benar dengan perintah berikut -

$ sudo chown syslog.adm /var/log/mail.log$ sudo chmod 640/var/log/mail.log

Sekarang file mail.log harus diisi dengan pesan yang benar untuk melacak apa yang terjadi dengan server Postfix.

2. Akses relai ditolak

Saat mengirim email, jika log postfix (/var/log/mail.log) menunjukkan pesan kesalahan seperti itu -

1 Des 09:57:12 li240-5 postfix/smtpd[25795]:NOQUEUE:reject:RCPT from unknown[122.163.8.12]:454 4.7.1 <...>:Akses relai ditolak; from=<...> to=<...> proto=ESMTP helo=<[192.168.1.2]>

Pastikan bahwa bidang smtpd_relay_restrictions (/etc/postfix/main.cf) memiliki "permit_sasl_authenticated" terdaftar sehingga pengguna yang diautentikasi melalui SASL diizinkan untuk mengirim email menggunakan postfix sebagai server smtp.

smtpd_relay_restrictions =permit_mynetworks permit_sasl_authenticated defer_unauth_destination

3. Kesalahan saat menerima email

Jika log dovecot menunjukkan pesan kesalahan seperti itu saat menerima email -

02 Des 18:32:12 lmtp(4412):Fatal:Kesalahan membaca konfigurasi:Setelan tidak valid:setelan postmaster_address tidak diberikan

Cukup edit /etc/dovecot/conf.d/15-lda.conf dan tambahkan nilai untuk postmaster_address

# Alamat yang digunakan saat mengirim email penolakan.# Defaultnya adalah [email protected]. %d diperluas ke domain penerima.postmaster_address [email protected]

Buat data DNS SPF untuk mengaktifkan validasi dan menghindari spam

Coba kirim email ke beberapa alamat gmail melalui klien email seperti thunderbird dan melalui server smtp postfix, dan email akan masuk ke folder spam gmail, atau mungkin ditolak seluruhnya.

Untuk mengatasi ini, data SPF untuk domain pengirim harus disiapkan. Jika server postfix mengirimkan email dengan "alamat dari" [email protected], maka catatan DNS TXT dari example.com harus berisi informasi validasi SPF untuk menunjukkan bahwa ini server berwenang untuk mengirim email atas nama example.com

Yang perlu dilakukan hanyalah mengedit entri zona server nama Anda dan menambahkan data TXT yang berisi

berikut
"v=spf1 mx a -all"

Sebagian besar penyedia vps seperti Linode menyediakan antarmuka yang rapi untuk mengedit pengaturan DNS seperti itu. Lihat situs web proyek OpenSPF untuk mempelajarinya lebih lanjut.

Periksa data SPF domain Anda dengan perintah sederhana ini -

$ dig -t TXT example.com

Catatan

Contoh di atas menggunakan file untuk menyimpan akun email dan kata sandi. Ini membuatnya nyaman saat Anda memerlukan beberapa akun email di server pribadi Anda dan tidak akan terlalu sering mengubahnya.

Namun, dalam skala besar saat memberikan email ke sejumlah besar pengguna dan sering membuat/menghapus akun, cara yang disarankan adalah dengan menyimpan virtual_mailbox_domains dan virtual_mailbox_maps dalam database dan kemudian menggunakan beberapa klien database untuk mengubah catatan dengan cepat dan mudah.

Baik Postfix dan Dovecot mendukung Mysql/MariaDB.

Lihat sumber daya di bagian bawah untuk tautan artikel berguna tentang cara mengkonfigurasi Postfix dan Dovecot dengan cara lain menggunakan database.

Apa selanjutnya

1. Anda dapat menginstal klien email berbasis web seperti Roundcube untuk dapat login ke server Anda dari browser dan membaca/mengirim email.

2. Beberapa pengguna (seperti saya tentu saja) lebih suka menggunakan gmail Google sebagai klien email dengan menambahkan informasi akun smtp dan pop. Google akan segera mengizinkan Anda mengirim email menggunakan penyiapan server smtp baru di atas.

Tetapi gmail tidak akan membaca email dari server IMAP/POP yang dibuat di atas, sampai kami menggunakan sertifikat asli dari otoritas sertifikat (CA) di Dovecot.

Sertifikat SSL dari CA membutuhkan biaya, tetapi Anda bisa mendapatkan sertifikat gratis dari StartCom StartSSL PKI dan menggunakannya dengan Dovecot, lalu gmail akan memungkinkan Anda membaca email dari server ini.

3. Selanjutnya Anda juga harus mengatur DKIM (Domainkeys Identified Mail) untuk domain Anda, untuk menegakkan keaslian surat dan diperlakukan sebagai sah oleh layanan surat utama seperti gmail.

Sumber daya

Berikut adalah beberapa sumber yang lebih berguna tentang cara mengatur dan mengkonfigurasi Postfix dan Dovecot dalam berbagai cara untuk mendapatkan jenis server email yang Anda inginkan.

Tutorial Linode tentang pengaturan Postfix dan Dovecot dengan Mysql
https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql

Dokumentasi parameter konfigurasi Postfix untuk digunakan di main.cf
http://www.postfix.org/postconf.5.html

Penjelasan tentang berbagai jenis domain yang didukung dan digunakan Postfix
https://workaround.org/ispmail/squeeze/postfix-domain-types

Detail tentang bagaimana Postfix menangani berbagai jenis domain virtual
http://www.postfix.org/VIRTUAL_README.html

Dokumentasi Postfix lengkap
http://www.postfix.org/documentation.html


Debian
  1. Instal dan Amankan Server Redis di Debian 10

  2. Cara Menginstal Spamassassin dengan Postfix dan Dovecot di Server Ubuntu/Debian

  3. Siapkan penerusan email di postfix di Ubuntu atau Debian

  1. Cara Install Puppet 6.x Di Ubuntu 18.04 / Ubuntu 16.04 &Debian 9

  2. Instal Node.js Di Ubuntu dan Debian

  3. Cara Menginstal dan Mengkonfigurasi Postfix di Ubuntu 20.04

  1. Cara Menginstal dan Mengkonfigurasi VNC di Debian 9

  2. Cara Menginstal dan Mengkonfigurasi Nginx di Ubuntu 18.04 / Debian 9

  3. Cara Menginstal dan Mengkonfigurasi Server Mail Postfix di CentOS 8