Instal Postfix + SendGrid/Mandrill/SMTP Server Eksternal Lainnya Untuk Mengirim Email di Linux Debian

Wajib Baca

Antivirus Gratis Yang Sudah Tidak Gratis Lagi

Pepatah lama berbunyi "There ain't no such thing as a free lunch" adalah ungkapan yang cocok disematkan...

Tingkatkan Performa Server dengan Cloudflare Page Rules

Cloudflare Page Rules adalah fitur Cloudflare yang tidak banyak dipakai oleh penggunanya, padahal fitur ini cukup powerful....

Solusi Error Internet Mail Delivery Pada Email iCloud

Saya adalah pengguna layanan email iCloud sudah sejak menggunakan iPhone 3GS, atau sekitar tahun 2009-2010. Akan tetapi satu tahun belakangan saya banyak menerima keluhan dari teman yang mengirimkan email ke saya kalau setiap email yang mereka kirim selalu ada reply error. Saya tidak begitu menghiraukan hal ini, selama email tetap masuk ke inbox saya. Saya selalu bilang, "Masuk koq emailnya". Tetapi beberapa hari yang lalu setelah saya migrasi email lainnya ke server Gmail, iseng-iseng saya coba mengirimkan email ke alamat email iCloud. Dan ternyata memang selalu muncul reply error seperti ini...
Ferdian Alfiantohttps://tuts.web.id
Ferdian Alfianto adalah seorang penggila dunia Internet, Mac Lover; suka menggunakan Wordpress, bereksperimen dengan Linux (terutama Debian dan Ubuntu), mengutak-atik pfSense router, senang bereksperimen dengan LEMP (Linux, Nginx, MariaDB, PHP) dan Redis. Anda bisa kontak saya disini.

Beberapa hari yang lalu, email notifikasi dari server yang masuk ke email, lebih banyak masuk ke spam box. Juga ketika saya mencoba fitur lupa password dari salah satu situs berbasis WordPress, email yang dikirimkan tidak masuk. Salah dua tersebut adalah kelemahan jika email dikirim via server, tidak reliable alias ababil kalo bahasa anak sekarang :)
Untuk itu, SMTP Server Eksternal harus saya gunakan untuk menggantikan sistem email di server web. Banyak pilihan SMTP Server Eksternal, yang cukup punya nama mentereng adalah SendGrid, Mandrill by MailChimp dan Amazon SES (Simple Email Service). Atau anda tinggal googling aja kata kunci “SMTP Server Services” atau bagi yang pemburu layanan gratisan bisa menggunakan kata kunci “Free SMTP Server Service”. Dan berikut adalah tutorial instal Postfix dengan menggunakan SMTP Server untuk mengirimkan email yang lebih reliable.

Disclaimer

  • Tutorial ini sudah dicoba dan berhasil di Linux Debian 8, akan tetapi tidak menutuo kemungkinan bisa berhasil di Debian versi 7 atau varian linux berbasis Debian lainnya, seperti Ubuntu atau KNOPPIX.
  • SMTP Server yang berhasil saya coba adalah SendGrid; tetapi tutorial ini juga bisa digunakan menggunakan SMTP server eksternal lainnya
  • Tutorial ini tidak bisa digunakan menggunakan SMTP server Google (Gmail dan Google Apps), jika ada waktu akan saya tuliskan tutorial terpisah.

Ok next step.

Adonan Yang Diperlukan

Sebelum memulai tutorial ini, anda sudah mempunyai:

  • Server, baik Dedicated Server atau VPS, sudah terinstal Linux Debian 8.
  • Fully Qualified Domain Name (FQDN) sudah di setting di server. Ketik perintah hostname untuk cek.
  • Perbarui package Linux dengan perintah apt-get update && apt-get upgrade
  • Anda sudah mempunyai username & password SMTP server.
  • Pastikan module libsasl2-modules sudah terinstal, jika belum gunakan perintah apt-get install libsasl2-modules

NOTE: Jika server anda menggunakan Ubuntu, tambah sudo untuk mengeksekusi perintah-perintah diatas.

Instal Postfix

Ketik perintah

apt-get install postfix mailutils

untuk memulai instal Postfix.

Pada saat proses instal, akan muncul jendela dialog General type of mail configuration seperti dibawah ini.

Pilih Internet Site.

Kemudian masukkan FQDN seperti dibawah ini, contoh fqdn.example.com

Setelah proses instalasi selesai, buka file konfigurasi Postfix dengan perintah

nano /etc/postfix/main.cf

Pastikan parameter myhostname diisi sesuai dengan FQDN anda

myhostname = fqdn.example.com

Konfigurasi Username & Password SMTP

Username dan password akan disimpan file bernama passwd di direktori /etc/postfix/sasl/. Selanjutnya kita akan membuat file passwd yang berisikan username & password SMTP server yang nantinya akan digunakan oleh Postfix.

Jika Anda Menggunakan SendGrid

Login ke SendGrid, pilih menu Settings -> API Keys. Kemudian klik tombol Create API Key.

Beri nama API Key yang akan dibuat. Dan pada pilihan API Key Permissions, pilih Full Access. Lihat gamabr dibawah.

Kemudian klik tombol Create & View. Pada halaman selanjutnya, akan muncul API Key, copy dan paste API Key tersebut ke notepad.

Selanjutnya kita akan membuat file passwd dengan perintah

nano /etc/postfix/sasl/passwd

dan masukkan API Key yang tadi kita buat, dengan format seperti ini

[smtp.sendgrid.net]:587 apikey:kodeAPIkey

NOTE: apikey adalah username SMTP, biarkan seperti itu. Sedang kodeAPIkey adalah API Key yang tadi kita buat diatas. Sedang 587 adalah port yang dipakai oleh SendGrid.

Kemudian kita akan membuat file hash db untuk Postfix dengan menjalankan perintah

postmap /etc/postfix/sasl/passwd

Jika berhasil, akan muncul file passwd.db di direktori /etc/postfix/sasl/. Bisa cek dengan perintah ls -l /etc/postfix/sasl/

Agar file passwd dan passwd.db lebih aman, kita akan mengatur file tersebut agar hanya root yang bisa membaca dan mengubahnya; dan juga kita akan mengubah kepemilikan file-file tersebut ke root. Gunakan perintah ini:

chown root:root /etc/postfix/sasl/passwd /etc/postfix/sasl/passwd.db
chmod 0600 /etc/postfix/sasl/passwd /etc/postfix/sasl/passwd.db

Selanjutnya, kita akan mengkonfigurasi file /etc/postfix/main.cf, agar Postfix bisa menggunakan SMTP server SendGrid. Ketik perintah

nano /etc/postfix/main.cf

Ubah relayhost sesuai dengan paramater SendGrid

# SMTP host dari SendGrid 
relayhost = [smtp.sendgrid.net]:587

Kemudian di bagian akhir file /etc/postfix/main.cf, tambahkan parameter ini

# aktifkan otentikasi SASL
smtp_sasl_auth_enable = yes
# matikan metode otentikasi anonim 
smtp_sasl_security_options = noanonymous
# lokasi sasl passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
# Aktifkan enkripsi STARTTLS
smtp_use_tls = yes
# Lokasi CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

Simpan ubahan diatas dan restart Postfix dengan perintah

service postfix restart

atau

/etc/init.d/postfix restart

Selanjutnya test Postfix untuk mengirim email dengan perintah

echo "body email" | mail -s "Ini Judul Email" -a "From: email@anda.com" email@yangdituju.com

NOTE: Ganti email@anda.com dengan sembarang alamat email. Dan ganti email@yangdituju.com dengan alamat email yang akan digunakan untuk menerima email (gunakan email yang valid, agar kita tahu email sudah masuk atau belum).

Jika Anda Menggunakan SMTP Server Lain

Pada prinsipnya konfigurasinya sama, yang perlu anda rubah hanya file /etc/postfix/sasl/passwd agar menyesuaikan dengan alamat SMTP server, port, username dan paswordnya

[mail.ispserver.com]:587 username:password

Dan juga ubah relayhost pada file /etc/postfix/main.cf

relayhost = [mail.ispserver.com]:587

Jangan lupa untuk membuat file hash db dengan perintah

postmap /etc/postfix/sasl_passwd

Dan juga restart Postfix

service postfix restart

atau

/etc/init.d/postfix restart

Selamat mencoba!

3 KOMENTAR

TINGGALKAN KOMENTAR

Silakan masukkan komentar anda!
Silakan masukkan nama Anda di sini

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

Artikel Terbaru

Rocket-Nginx + WP-Rocket: Apa Benefitnya?

Apa itu Rocket-Nginx? Rocket-Nginx adalah tambahan konfigurasi pada Nginx untuk plugin cache Wordpress, WP-Rocket.

Tutorial Instal Cloudflare WARP di Windows & Mac

Pagi ini saya menerima email pemberitahuan dari Cloudflare bahwa layanan Cloudflare WARP sudah tersedia untuk OS Windows & Mac, namun masih tahap...

Memperbaiki “WARNING: UNPROTECTED PRIVATE KEY FILE!” Ubuntu WSL di Windows 10

Setelah mengupdate Windows 10 ke Insider Build 17063, saya perlu menjalankan perintah berikut di Ubuntu WSL (Windows Subsystem for Linux) agar perintah...

Cara Mudah Download Lagu dari Spotify

Setelah sebelumnya saya memberikan tutorial mudah download lagu dari iTunes/Apple Music; pada kesempatan kali ini saya persembahkan tutorial cara mudah download lagu...

Mudah Download Lagu dari iTunes/Apple Music

Dalam kondisi normal, tidak memungkinkan bagi kita download lagu yang ada di iTunes atau Apple Music. Untuk itu di artikel ini saya...
Protected by Copyscape

Artikel Lain Terkait: