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.
Parameter virtual_transport memberitahu postfix untuk meneruskan/mengangkut mail ke dovecot untuk domain-domain yang terdaftar di "virtual_mailbox_domains".
Jalur "private/dovecot-lmtp" relatif terhadap "/var/spool/postfix/". Soket unix yang sebenarnya harus dikonfigurasi nanti di bagian konfigurasi Dovecot.
Di sini kita mengatur parameter untuk mengatur otentikasi berbasis SASL untuk Postfix. Postfix secara internal mampu berbicara dengan "layanan SASL Dovecot" melalui soket unix.
Untuk memeriksa plugin smtpd_sasl_type apa saja yang didukung oleh instalasi Postfix Anda, jalankan perintah berikut.
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.
Masukkan domain, satu baris
Kemudian jalankan postmap pada file tersebut. Ini akan membuat file bernama virtual_mailbox_domains.db yang akan digunakan oleh Postfix
Tabel virtual_mailbox_maps dapat digunakan untuk menentukan alamat email yang valid untuk domain yang terdaftar di virtual_mailbox_domains.
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
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.
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.
Kami selesai mengkonfigurasi Postfix. Sekarang restart saja.
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.
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.
Pertama instal dovecot dan beberapa paket yang diperlukan. Instal paket dan paket inti dovecot untuk dukungan imap, pop, dan lmtp.
Periksa versi
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.
Protokol yang diinstal dapat dicantumkan seperti ini
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.
Edit file 10-mail.conf
Buat direktori /var/mail/vhosts
Sekarang buat di dalam direktori itu buat direktori untuk setiap domain tempat Anda ingin menerima email di server ini.
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.
Berikan vmail hak penuh untuk membaca/menulis di /var/mail/vhosts
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
Untuk POP3S - POP3 Aman
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".
Soket harus memiliki hak istimewa user:group postfix agar proses Postfix dapat menggunakannya.
Temukan bagian "auth layanan" dan di dalamnya tambahkan yang berikut ini. Jika sudah ada, tinggal modifikasi saja.
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.
Temukan pengaturan bernama auth_mechanism dan batalkan komentar. Pengaturan ini menentukan format di mana kata sandi akan diberikan ke dovecot.
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
Selanjutnya edit file auth-passwdfile.conf.ext
Buatlah terlihat seperti ini.
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 -
Buat file teks biasa sederhana di dalam /etc/dovecot/ dan isi dengan nama pengguna dan kata sandi dalam format user:password. Ini contohnya
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.
File kata sandi juga dapat berisi informasi tentang direktori dan izin kotak surat pengguna individu. Periksa artikel wiki tentang format file passwd.
Buka file /etc/dovecot/conf.d/10-ssl.conf dan batalkan komentar pada baris ssl dan setel ke diperlukan
Pastikan juga bahwa ssl_cert dan ssl_key menunjuk ke file yang tepat (ini secara default)
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.
Dan isi berikut ini
Untuk informasi lebih lanjut, periksa halaman wiki dovecot tentang logging.
Kerja bagus. Semua konfigurasi selesai. Sekarang mulai ulang dovecot
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
Pada output di atas kita dapat melihat bahwa dovecot memegang port 993, 995, 110 dan 143
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
Pemilik file yang benar harus syslog. Setel izin kepemilikan yang benar dengan perintah berikut -
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 -
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.
3. Kesalahan saat menerima email
Jika log dovecot menunjukkan pesan kesalahan seperti itu saat menerima email -
Cukup edit /etc/dovecot/conf.d/15-lda.conf dan tambahkan nilai untuk postmaster_address
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
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 -
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.
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.
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
Dokumentasi parameter konfigurasi Postfix untuk digunakan di main.cf
Penjelasan tentang berbagai jenis domain yang didukung dan digunakan Postfix
Detail tentang bagaimana Postfix menangani berbagai jenis domain virtual
Dokumentasi Postfix lengkap# Menyerahkan pengiriman lokal ke LMTPvirtual_transport Dovecot =lmtp:unix:private/dovecot-lmtp
Konfigurasikan SASL di main.cf
#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
# postconf -acyrusdovecot
Tambahkan domain kotak surat di main.cf
#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
example.com OKsitussaya.com OK
# postmap /etc/postfix/virtual_mailbox_domains
Namun ini tidak perlu, karena otentikasi SASL melalui Dovecot akan melakukan verifikasi.
Aktifkan SMTPS dan MSA - master.cf
Karena spesifikasi historis, secara teknis port 25, 465, 587 melakukan hal yang hampir sama. Namun seiring perkembangannya, hal-hal tersebut didefinisikan ulang.
Thunderbird (MUA) -> server Anda smtp(MSA/MTA) -> gmail (MTA) -> Kotak Masuk
Mulai Ulang Postfix
$ Sudo service postfix restart
Instal dan Konfigurasikan Dovecot
Hal-hal yang perlu diketahui
Instal Dovecot
# sudo apt-get install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd
# dovecot --version2.1.7
Konfigurasi Dovecot
# Aktifkan protokol yang diinstal!include_try /usr/share/dovecot/protocols.d/*.protocol
# 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
Email untuk [email protected] akan disimpan di /var/mail/vhosts/example.com/someone/
#mail_location =mbox:~/mail:INBOX=/var/mail/%umail_location =maildir:/var/mail/vhosts/%d/%n
# mkdir /var/mail/vhosts/
# mkdir /var/mail/vhosts/example.com
Buat pengguna untuk membaca email
$ groupadd -g 5000 vmail$ useradd -r -g vmail -u 5000 vmail -d /var/mail/vhosts -c "pengguna email virtual"
$ chown -R vmail:vmail /var/mail/vhosts/
Aktifkan layanan IMAPS dan POP3S - 10-master.conf
service imap-login { inet_listener imap { #port =143 } inet_listener imaps { port =993 ssl =yes }
service pop3-login { inet_listener pop3 { #port =110 } inet_listener pop3s { port =995 ssl =yes }}
Konfigurasi soket lmtp - 10-master.conf
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode =0600 user =postfix group =postfix }.....
Konfigurasikan soket otentikasi SASL
service auth {..... # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode =0666user=postfixgroup=postfix }.....
Konfigurasikan autentikasi
disable_plaintext_auth =yes
auth_mechanisms =login biasa
#!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
/etc/dovecot/conf.d# nano auth-passwdfile.conf.ext
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}
/var/mail/vhosts/example.com/someone/
Buat Kotak Surat atau Akun Pengguna
# cat dovecot-users [email protected]:{plain}[email protected]:{MD5-CRYPT}$1$JdyRMcO6$qUwKZT40EVp/oIpVfAEXF1
# doveadm pw -s MD5-CRYPTMasukkan kata sandi baru:Ketik ulang kata sandi baru:{MD5-CRYPT}$1$JdyRMcO6$qUwKZT40EVp/oIpVfAEXF1#
Aktifkan SSL di dovecot - 10-ssl.conf
# Dukungan SSL/TLS:ya, tidak, diperlukan.
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 =
$ nano /etc/logrotate.d/dovecot
/var/log/dovecot*.log { missingok notifempty delaycompress sharedscripts postrotate doveadm log buka kembali endscript}
Mulai ulang Dovecot
$ sudo service dovecot restart
Uji
# 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
Sedangkan Postfix (master) memegang port 587, 465 dan 25Pemecahan Masalah
# ls -l /var/log/mail.log-rw-r----- 1 messagebus adm 0 Apr 26 2013 /var/log/mail.log
$ sudo chown syslog.adm /var/log/mail.log$ sudo chmod 640/var/log/mail.log
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]>
smtpd_relay_restrictions =permit_mynetworks permit_sasl_authenticated defer_unauth_destination
02 Des 18:32:12 lmtp(4412):Fatal:Kesalahan membaca konfigurasi:Setelan tidak valid:setelan postmaster_address tidak diberikan
# Alamat yang digunakan saat mengirim email penolakan.# Defaultnya adalah [email protected]
Buat data DNS SPF untuk mengaktifkan validasi dan menghindari spam
"v=spf1 mx a -all"
$ dig -t TXT example.com
Catatan
Apa selanjutnya
Sumber daya
https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql
http://www.postfix.org/postconf.5.html
https://workaround.org/ispmail/squeeze/postfix-domain-types
http://www.postfix.org/VIRTUAL_README.html
http://www.postfix.org/documentation.html