Assalammualaikum wr wb permirsa, kembali lagi dijempolan01, kali ini saya selaku admin blog ini yang ganteng ini hehe, akan membuat sebuah artikel mengenai mail server, nah disini saya akan membuat sebuah mail server secara awal menggunakan postfix dan juga dovecot, untuk mendapatkan paket tersebu anda bisa mendapatkan nya dibeberapa sumber repo.

Berikut Topologi yang saya gunakan.
Sebelum memulai ke tahap konfigurasi, saya akan sedikit membahas mail server ini ya, menurut sudut pandang saya dan juga juga reverensi yang saya dapat di internet OK. 

Beberapa dari kita mungkin, berpikiran mengapa kita harus susah-susah membuat sebuah email berbeda selain yang kita kenal yaitu yahoo dan juga google mail / mungkin outlook "susah susahin diri", hal tersebut mempunyai alasan yang logis mengapa, kita membuat sebuah mail server lagi, dengan dibuatkan mail server secara spesifik akan membuat data yang lewat tidak bocor kemana2 (termasuk google tau) karena hanya lingkup itu saja yang mempunyai akses dan tentunya dengan server tersendiri, metode ini banyak diadopsi oleh beberapa perusahaan, dengan ini hanya orang dalem dari perusahaan tersebut lah yang tau seluk beluk datanya dan meminimalisir kebocoran data perusahaan tesebut ke orang lain atau instansi yang tidak diharapkan (termasuk google ya hehe). 

Dengan alasan tersebutlah sekarang makin marak jenis mail-mail bertipe costum atau konfig sediri, contoh zimbra mail, yang saya buat ini, dan juga yang lain nya, Proses surat menyurat elektronik ini terkait dengan beberapa istilah seperti MTA,MDA,Protokol IMAP/POP3/SMTP, MUA, alur nya gini ketika kita ingin mengirim pesan kita melewati yang namanya Mail Transfer Agent (MTA), MTA ini bertugas sebagai wadah pengiriman/proses pengiriman (seperti kantor pos saja), setelah itu MTA ini berkordinasi dengan salah satu porotokol surat menyurat (kita sebut seperti itu) yaitu SMTP, setelah itu sampai nie pesan nya yang dibawa mta, lantas tidak langsung terus dibaca kan oleh user, nah pesan ini disimpan dulu oleh MDA (Mail Delivery Agent) sampai pesan tersebut dibaca oleh user yang bersangkutan, POP3 dan IMAP ini lebih berperan untuk mengambil isi pesan tersebut (dibaca,dihapus dan juga yang lain nya), nah si MUA ini adalah sebuah aplikasi yang biasa kita pake buat baca email, jadi si user ini bisa dengan mudah membaca pesan nya, nah proses tersebut secara simultan dilakukan ya, kalo kita lihat proses nya kerja si server email tersebut termasuk berat, karena tidak hanya mengirim pesan tersebut tetapi server juga ikut menyimpan pesan yang ingin dibuka tersebut, dan selalu melakukan syncronisasi antara status yang dimunculkan client dengan yang ada diserver saat itu, mungkin kalo orang sudah pecah kali ya ngurusin email segitu banyak dan kompleks tersebut, tetapi itu lah alasan yang membuat manusia menciptakan sebuah alat yang dapat membantu pekerjaan mereka yaitu sebuah komputer yang kita pake saat ini.

Konfigurasi

1. Pertama kita lakukan instalasi sebuah paket yaitu bernama paket postfix, untuk mendapatkan nya, anda bisa mencari nya dibeberapa sumber repo centos 7 yang ada di internet, contoh nya epel .

2. Setelah paket postfix sudah terinstall, maka kita lakukan proses edit syntak pada file main.cnf nya, ada beberapa hal yang harus kita edit, untuk petunjukkan nya bisa lihat gambar dibawah ini ya.
untuk perintah mydestination = $myhostname, .... (yang ditandai), digunakan untuk menentukan sebuah destinasi target dari sebuah mail sever, disini ada beberapa penyataan yaitu dengan informasi hostname sebuah server, domain yang digunakan dan juga yang lain nya, untuk perintah tersebut diuncoment ya supaya aktif.
Setelah itu kita edit dibagiab inet_interface nya.
Secara default inet_interfaces = localhost akan aktif, untuk itu kita perlu berikan tanda # supaya tidak aktif, dan kita aktif yang all option, supaya server dapat diakses maupun menerima request client secara keseluruhan. 
Kita scroll kebawah pada file main.cnf nya setelah itu kita masukkan beberapa syntak penting tersebut, untuk syntak nya anda bisa lihat pada gambar dibawah ini.
myhostname = mail.aditiya.net : Untuk menyatakan alamat atau sebuah hostname dari sebuah mail server yang kita ingin buat / konfigurasi.
mydomain = aditiya.net : Digunakan untuk menyatakan sebuah alamat domain yang digunakan untuk mail server atau juga didaftarkan pada server yang kita konfigurasi. 
myorigin = $mydomain : Untuk menentukan target pendistribusian email, dengan ini saya gunakan sebuah domain yaitu aditiya.net supaya lebih mudah.
mynetworks = 192.168.1.0/24, 127.0.0.0/8 : Mendefinisikan sebuah cakupan jaringan komputer, dan juga digunakan untuk mengakses smtp, imap dan juga alur pengiriman mail server lain nya.
home_mailbox = Maildir/ : Untuk menentukan sebuah directory mailbox pada mailserver.
smtpd_baner = $myhostname by aditiya : Banner smtp yang digunakan.
#size max email 20M (untuk keterang)  (Untuk menetukan kapasitas sebuah kotak email pada sebuah user pada mail server keluar/masuk dan dinyatakan pada satuan byte ) message_size_limit = 20971520

#size max mailbox 1G : Untuk keterangan mailbox size limit
mailbox_size_limit = 1073741824 : Jumlah kapasitas ukuran dari mailbox sebuah user.
smtpd_sasl_type = dovecot : Sebuah plug-in SASL yang digunakan oleh mailserver smtp untuk melakukan sebuah authentikasi antara posfix dan juga dovecot
smtpd_sasl_path = private/auth : Untuk mengimplementasi sebuah plugin berdasarkan sebuah informasi yang yang terdapat pada smtp maupun imap
smtpd_sasl_auth_enable = yes : Untuk mengatifkan smtp authentication.
smtpd_sasl_security_options = noanonymous : Melakukan pelarang pada sebuah user tidak dikenal atau anonim untuk mengakses sebuah mailserver.
smtpd_sasl_local_domain = $myhostname : Untuk menentukan target pada sebuah sasl domain.
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit$ : Untuk memberikan sebuah proses rcpt pada sebuah client atau sebuah user.

3. Kita gunakan perintah start service apabila service tersebut belum berjalan
Enable service dilakukan supaya membuat sebuah alur simultan untuk mengatifkan service secara otomatis ketika kita melakukan restart, dan gunakan restart apabila postfix anda sudah bekeadaan nyala dan telah dimasukkan sebuah update konfigurasi. 

4. Setelah itu kita masukkan sevice smtp pada firewall agar service tersebut diijinkan untuk menerima request dari client atau motode sebaliknya.

5. Kita unduh paket dovecot, pada sumber repo centos yang ada.

6. Setelah proses pengunduhan dan instalasi paket selesai, kita akses dovecot.conf nya dan edit beberapa element didalamnya salah satu nya dibawah ini.
Kita lakukan uncoment pada protokol imap pop3 dan lmtp, supaya protokol tersebut dapat aktif dan dapat melayani proses penerimaan pesan, setelah itu untuk listen juga di uncoment pada syntak nya supaya ikut aktif, ganti menjadi tanda * supaya mengijinkan semua jenis jaringan dan dapat menerima request atau pun memproses data dari client.
7. Kita beralih pada file 10-auth.conf untuk kita edit element didalamnya, kita atur pengaturan authentikasi login nya.
Kita enable juga plaintext auth nya, untuk mengaktifkan kita perlu tambahkan perintah no.

8. Beralih pada file 10-mail.conf untuk menentukan mail location pada mail server.

9. Pada tahap ini lah dilakukan sebuah pengaturan login authentication pada mail server, uncoment perintah unix_listener /var/spool/... dan juga mode = 0666, user = postfix , group = postfix.

10. Karena kita belum membuat ssl kita nonaktifkan ssl authentication pada mail server.

11. Kita nyalakan service dovecot dan enable service supaya diaktifkan nya, sebuah proses simultan penghidupan kembali service setelah dilakukan restart.

12. Kita masukkan beberapa jenis port pada firewall supaya, port tersebut dapat berkomunikasi atau diakses oleh sebuah client.

13. Buat user, user ini digunakan sebai akun dari sebuah mail client nantinya.

Pengujian. 

1. Akses smtp port untuk melakukan pengetesan, mengirim email melalui cli mode.
mail from : winter : alamat si pengirim atau user mana yang ingin mengirim email
rcpt to : summer : tujuan dari email yang ingin dikirim
data : untuk measukkan sebuah data berupa pesan singkat (.) mengakhiri penulisan pesan
quit : untuk keluar dari mode telnet

2. Setelah itu kita coba cek pada user summer apakah pesan dari winter sampai ?
user summer : user dari email tersebut
pass 123***: password dari user mail tersebut.
stat : untuk mengecek pesan yang masuk.
retr1 : status pesan yang masuk Pertama kah atau sudah yang keberapa, dan juga melihat isi pesan nya .

ya sekian dari saya semoga bermanfaat
dan terimakasih .