Server tidak bisa mengirim Email adalah sesuatu banget. Misalnya seseorang mengomentari postingan diwebsite WordPress agan yang memakai VPS atau sesorang order produk melalui website agan, tetapi agan tidak dapat notifikasi karena email server belum terinstall, nah?. Artikel berikut ini akan menjelaskan langkah-langkah setting mail server cara install Postfix dan Cyrus serta MailX di CentOS VPS (Virtual Private Server).
Pengenalan
Tentang postfix, Postfix adalah free open source Mail Transfer Agent yang bekerja untuk route dan mengirim email. Sedangkan Cyrus adalah server yang membantu mengatur email itu sendiri
1. Install Postfix dan Cyrus
Hal pertama yang harus dilakukan adalah menginstal postfix dan Cyrus pada Virtual Private Server (VPS) dan cara termudah untuk melakukannya adalah melalui installer yum.
sudo yum install postfix sudo yum install cyrus-sasl sudo yum install cyrus-imapd
Jawab Y
semua jika ada tampilan pertanyaan. Setelah semua komponen telah didownload, berarti postfix dan cyrus berhasil diinstal pada mesin VPS agan.
2. Konfigurasi Postfix
Kita akan mengkonfigurasi kedua program secara terpisah.
Pertama, membuka file konfigurasi utama Postfix ini.
sudo vi /etc/postfix/main.cf
File konfigurasi postfix sangat berguna dan rinci, memberikan hampir semua informasi yang dibutuhkan untuk mendapatkan program dan berjalan pada VPS Anda. Sayangnya ini juga membuat file yang sangat panjang.
Kode dibawah ini adalah konfigurasi yang umum disarankan, copy dan paste informasi di bawah ini untuk mengganti konfigurasi Postfix saat ini. Jangan lupa untuk mengganti nama domain sesuai domain agan.
soft_bounce = no queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix mail_owner = postfix # The default_privs parameter specifies the default rights used by # the local delivery agent for delivery to external file or command. # These rights are used in the absence of a recipient user context. # DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER. # #default_privs = nobody myhostname = mail.example.com mydomain = example.com mydestination = $myhostname, localhost unknown_local_recipient_reject_code = 550 mynetworks_style = host mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp local_destination_recipient_limit = 300 local_destination_concurrency_limit = 5 recipient_delimiter=+ virtual_alias_maps = hash:/etc/postfix/virtual header_checks = regexp:/etc/postfix/header_checks mime_header_checks = pcre:/etc/postfix/body_checks smtpd_banner = $myhostname debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.3.3/samples readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES smtpd_sasl_auth_enable = yes smtpd_sasl_application_name = smtpd smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, reject_rbl_client dnsbl.njabl.org, reject_rbl_client dnsbl.sorbs.net, permit smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = broken_sasl_auth_clients = yes smtpd_helo_required = yes
3. Finalisasi Postfix
Setelah menyeting konfigurasi yang tepat, kita hampir selesai menyiapkan postfix pada server virtual.
Untuk mencegah kesalahan, kita harus menjalankan dua langkah lebih
Didalam konfigurasi kita include-kan virtual aliases dengan line, virtual_alias_maps = hash:/etc/postfix/virtual; sekarang kita harus atur database tersebut.
Buka file konfigurasi:
sudo vi /etc/postfix/virtual
Hapus semua teks dalam file dan kemudian tambahkan baris berikut, ganti username dan nama domain sesuai dengan keinginan agan:
[email protected] user\@example.com
Simpan dan keluar.
Selanjutnya ketik kode berikut:
postmap /etc/postfix/virtual
Ini akan mengubah file virtual ke dalam tabel, menciptakan database yang diperlukan untuk postfix agar bisa bekerja.
Gunakan perintah ini untuk membuat file baru untuk postfix sebelum mengirim apa pun.
touch /etc/postfix/body_checks
Setelah semua itu selesai, selanjutnya dengan mengkonfigurasi Cyrus.
4. Configure Cyrus
Langkah pertama adalah untuk menambahkan file smtpd.conf, yang mendefinisikan otentikasi untuk Postfix / SASL, ke direktori SASL:
sudo vi /etc/sasl2/smtpd.conf
Silakan copy dan paste teks berikut di:
pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5
Simpan dan keluar.
Berikutnya, kita perlu mengkonfigurasi file Cyrus:
sudo vi /etc/imapd.conf
Hapus apa yang ada di file saat ini, dan paste konfigurasi di bawah ini ke file, jangan lupa ubah nama domain, cocokkan dengan nama domain pribadi agan.
virtdomains: userid defaultdomain: example.com servername: example.com configdirectory: /var/lib/imap partition-default: /var/spool/imap admins: cyrus sievedir: /var/lib/imap/sieve sendmail: /usr/sbin/sendmail.postfix hashimapspool: true allowanonymouslogin: no allowplaintext: yes sasl_pwcheck_method: auxprop sasl_mech_list: CRAM-MD5 DIGEST-MD5 PLAIN tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt autocreatequota: -1 createonpost: yes autocreateinboxfolders: spam autosubscribeinboxfolders: spam
Simpan dan keluar.
5. Install Mail Client – MailX
Sukses! Agan telah menginstal Postfix dan Cyrus pada VPS. Jika website agan menggunakan WordPress agan bisa test menggunakan plugin Contact Form atau sejenisnya untuk mencoba mengirim email. Namun untuk test metode pengiriman mail via terminal SSH perlu diinstall program satu lagi yaitu MailX, Karena kedua program ini (Postfix & Cyrus) berhubungan dengan penanganan email daripada mengirimnya.
yum install mailx
Setelah Anda setuju, dengan cepat mailx akan menyelesaikan instalasi.
Kemudian, untuk mengirim email, ketik perintah ini dalam terminal, ganti alamat email dengan alamat email yang ingin agan tujukan.
mail [email protected]
Terminal akan meminta baris subjek. Ketik 1
, lalu tekan enter. Pada baris berikutnya Anda dapat mengetikkan pesan Anda. Ini hanya akan dikirim bila Anda tekan enter, dan ketik titik (.) pada baris akhir.
Mail Agan akan terlihat seperti ini:
[root@demoserver ~]# mail [email protected] Subject: Hello This is a test message. Regards, . EOT
Selamat-sekarang Agan memiliki postfix terinstal dan email berjalan. Agan siap untuk menggunakan virtual private server untuk mengirim email.
Selamat mencoba gan, semoga berhasil.
Credit: DigitalOcean