Konfigurasi Postfix untuk Mengirim Email Menggunakan server SMTP eksternal

Konfigurasi Postfix pada server yang benar dan tepat dapat menghindarkan email ditandai sebagai spam di kotak masuk pelanggan. Selain itu, pengaturan pengiriman email menggunakan Mandrill, SendGrid, Amazon SES, atau penyedia SMTP eksternal lainnya dengan Postfix juga dapat menghindarkan IP server dari blacklist (daftar pengirim spam).

Dengan mengetahui sebab penting tersebut, tutorial kali ini menjelaskan proses instal dan konfigurasi Postfix pada server agar dapat mengirim email melalui Mandrill, atau SendGrid (tanpa khawatir email terdeteksi sebagai spam).

Sebelumnya, Jika Anda menggunakan Gmail atau Google Apps (G suite) maka panduan yang dibutuhkan berada di artikel: Konfigurasi Postfix untuk pengiriman mail dengan Gmail & Google Apps (G suite) di Ubuntu.

Catatan

Persiapan

Sebelum memulai tahapan konfigurasi, pastikan bahwa prasyarat ini telah terpenuhi:

  • Nama domain yang memenuhi syarat (FQDN)
  • Semua pembaruan diinstal:
    sudo apt-get update
  • Nama pengguna dan kata sandi yang valid untuk penyedia surat SMTP, seperti Mandrill, atau SendGrid
  • Pastikan paket libsasl2-modules terinstal dan terkini:
    sudo apt-get install libsasl2-modules

Panduan ini ditulis untuk pengguna non-root. Perintah yang membutuhkan hak lebih tinggi diawali dengan sudo. Jika Anda tidak terbiasa dengan perintah sudo, silahkan baca Panduan pengenalan User dan Grup pada server.

Catatan

Instalasi dan konfigurasi Postfix

Di bagian ini, Anda akan menginstal Postfix dan mengatur domain dan nama host.

  1. Instal Postfix dengan perintah berikut:
    sudo apt-get install postfix
  2. Selama instalasi, sebuah prompt akan muncul menanyakan tipe umum konfigurasi email Anda.

    Pilih Internet Site.

  3. Masukkan nama domain, ex: fqdn.example.com.
  4. Setelah instalasi selesai, buka file /etc/postfix/main.cf dengan editor teks favorit Anda (contoh ini menggunakan nano sebagai text editor):
    sudo nano /etc/postfix/main.cf
  5. Pastikan parameter myhostname dikonfigurasi dengan FQDN server Anda:
    myhostname = fqdn.example.com

Mengkonfigurasi Nama Pengguna dan Kata Sandi SMTP

Nama pengguna dan kata sandi umumnya disimpan dalam file bernama sasl_passwd di sasl_passwd/etc/postfix/. Pada bagian ini, tambahkan kredensial penyedia mail eksternal ke dalam file ini, dan Postfix.

Jika anda menggunakan Mandrill , atau SendGrid sebagai penyedia SMTP, teruskan proses konfigurasi dengan mengacu pada tahapan-tahapan dibawah ini. Untuk penggunaan Google Apps (G suite) dan Gmail, lihat Konfigurasi Postfix untuk Mengirim Email Menggunakan Gmail dan Google Apps (G suite) pada Ubuntu (juga berlaku untuk Debian).

  1. Buka atau buat file /etc/postfix/sasl_passwd, menggunakan editor teks favorit Anda:
    sudo nano /etc/postfix/sasl_passwd
  2. Tambahkan tujuan Anda (Host SMTP), nama pengguna, dan kata sandi dalam format berikut:
    [mail.isp.example] username:password

    Untuk menentukan Port TCP non-standar (seperti 587), gunakan format berikut:

    [mail.isp.example]:587 username:password
  3. Buat file hash db untuk Postfix dengan menjalankan perintah postmap :
    sudo postmap /etc/postfix/sasl_passwd

Jika semuanya berjalan dengan baik, maka file baru bernama sasl_passwd.db telah ada di path direktori sasl_passwd.db/etc/postfix/.

Mengamankan Password dan Hash File Database

File /etc/postfix/sasl_passwd dan /etc/postfix/sasl_passwd.db yang telah dibuat pada langkah sebelumnya berisi kredensial SMTP dalam teks biasa.

Untuk alasan keamanan, ubah pengaturan izin agar hanya pengguna root yang dapat membaca, merubah, atau menulis pada file sasl_passwd dan sasl_passwd.db. Jalankan perintah berikut untuk mengalihkan kepemilikan pada root dan memperbarui izin untuk kedua file:

sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db 

Mengkonfigurasi Relay pada Server

Di bagian ini, anda akan mengonfigurasi file /etc/postfix/main.cf untuk menggunakan server SMTP eksternal.

  1. Buka file /etc/postfix/main.cf dengan editor teks favorit Anda:
    sudo nano /etc/postfix/main.cf
  2. Perbarui parameter relayhost untuk menampilkan host relay SMTP eksternal. Penting : Jika Anda menentukan port TCP non-standar dalam file sasl_passwd, maka Anda harus menggunakan port yang sama ketika mengkonfigurasi parameter relayhost.
    # specify SMTP relay host
    relayhost = [ mail.isp.example ] :587 
  3. Di akhir file, tambahkan parameter berikut ini untuk mengaktifkan otentikasi:
    # enable SASL authentication
    smtp_sasl_auth_enable = yes
    # disallow methods that allow anonymous authentication.
    smtp_sasl_security_options = noanonymous
    # where to find sasl_passwd
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    # Enable STARTTLS encryption
    smtp_use_tls = yes
    # where to find CA certificates
    smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
  4. Simpan perubahan Anda (ctrl + X, lalu Y kemudian enter).
  5. Restart Postfix:
    sudo service postfix restart

Menguji Postfix

Cara tercepat untuk menguji konfigurasi diatas adalah dengan mengirim email ke alamat email yang tidak terkait, menggunakan perintah mail:

echo "body of your email" | mail -s "This is a Subject" -a "From: you@example.com" recipient@elsewhere.com 

Anda mungkin harus menginstal mailutils untuk menggunakan perintah mail:

sudo apt-get install mailutils

Atau, Anda dapat menggunakan implementasi sendmail Postfix sendiri, dengan memasukkan baris seperti di bawah ini:

 sendmail recipient@elsewhere.com From: you@example.com Subject: Test mail This is a test email.

Contoh Konfigurasi Postfix dengan Penyedia eksternal yang Berbeda

Bagian ini menunjukkan pengaturan untuk beberapa layanan surat populer yang dapat Anda gunakan sebagai server SMTP eksternal. Anda mungkin harus melakukan fine-tuning sendiri untuk menghindari login Postfix yang ditandai sebagai mencurigakan.

Pengaturan untuk Mandrill

Gunakan pengaturan ini untuk Mandrill.

  1. Untuk /etc/postfix/sasl_passwd , gunakan konfigurasi berikut dengan kredensial Anda sendiri:
    [ smtp.mandrillapp.com ] :587 USERNAME:API_KEY 
  2. Untuk /etc/postfix/main.cf , gunakan relayhost berikut:
    relayhost = [ smtp.mandrillapp.com ] :587 
  3. Buat file hash db untuk Postfix dengan menjalankan perintah postmap :
    sudo postmap /etc/postfix/sasl_passwd 
  4. Mulai ulang Postfix:
    sudo service postfix restart 

Pengaturan untuk SendGrid

Gunakan pengaturan ini untuk SendGrid.

  1. Untuk /etc/postfix/sasl_passwd , gunakan konfigurasi berikut dengan kredensial Anda sendiri:
    [ smtp.sendgrid.net ] :587 USERNAME:PASSWORD 
  2. Untuk /etc/postfix/main.cf , gunakan relayhost berikut:
    relayhost = [ smtp.sendgrid.net ] :587
  3. Buat file hash db untuk Postfix dengan menjalankan perintah postmap :
    sudo postmap /etc/postfix/sasl_passwd 
  4. Mulai ulang Postfix:
    sudo service postfix restart 

Mau punya Tema WordPress unik ?, atau punya desain kesukaan yang ingin dibuat menjadi Tema WordPress ?

Pesan Jasa Desain Tema Wordpress Sekarang

Berikan tanggapan

This site uses Akismet to reduce spam. Learn how your comment data is processed.