Suatu ketika seorang teman bertanya, kenapa sih email yang dikirimkan dari website dia selalu saja masuk spam. Ga peduli website apa yang digunakan, sebenarnya masalahnya ada pada mail transport-nya.
Email sama seperti surat di dunia nyata. Surat akan lebih diperhatikan jika pengirimnya berasal dari satu institusi tertentu yang sudah dipercaya. Email juga begitu. Sebuah email akan lebih dipercaya dan tidak dianggap spam jika pengirimnya berasal dari mail server yang terpercaya, misalnya Google atau SMTP hosting yang ditempati.
Ada dua cara menggunakan SMTP Google untuk mengirim email. Yang pertama adalah dengan setelan skala server dan yang kedua adalah setelan skala website. Untuk skala server artinya SMTP Google digunakan untuk mengirim email oleh mail transport agent / MTA yang ada di server tersebut.
Jadi semua aplikasi, termasuk cron, bisa menggunakan akun Google yang telah disetting sebelumnya. Kenapa aku nyebutnya akun Google, bukan gmail? Karena kita tidak hanya menggunakan gmail, tapi bisa menggunakan Google Apps. Seperti misalnya server blog Hanya Lewat ini yang menggunakan Google Apps.
Sedangkan untuk skala website, kita menyetel penggunaan SMTP Google untuk website tertentu. Sehingga tiap website bisa berbeda akun email, tergantung kita setting-nya bagaimana. Khusus untuk WordPress, ada banyak cara, yakni bisa dengan hard-coding ke functions.php di themes atau menggunakan plugin. Kali ini kita tidak membahas skala website, kita akan membahas skala server menggunakan MSMTP.
Sebenarnya aku sudah pernah bahas tentang MSMTP di blog lainnya. Meskipun sudah lama, tapi tutorialnya masih bisa digunakan. Cara setting-nya yakni sebagai berikut:
# Install MSMTP dan ca-certificates
apt-get install msmtp ca-certificates
# Buka file /etc/msmtprc dengan editor misalnya nano dan ketik setting ini
defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account default
host smtp.gmail.com
port 587
auth on
user username@gmail.com
password passwordku
from username@gmail.com
logfile /var/log/msmtp.log
Bagian yang aku bold itu perlu diganti menjadi akun detail kalian. Setelan diatas menggunakan akun gmail sebagai contoh. Gunakan username@domain.com jika menggunakan akun Google Apps. Kurang lebih seperti saat kalian login. Setelah itu silahkan MSMTP dicoba untuk mengirim email.
echo -e “Subject: Email Percobaan\r\n\r\nIni adalah email percobaan yang dikirim menggunakan MSMTP.” | msmtp –debug –from=default -t email_tujuan@email.com
Jika tidak ada output apapun, segera cek email tujuan. Jika sudah muncul, lihat juga pengirimnya siapa. Seharusnya pengirimnya adalah akun gmail yang sudah kalian set. Pada akun gmail yang dipakai buat mengirim, cek pada bagian Sent / Terkirim, salinan email yang kalian kirim pasti ada disana.
Tidak seperti saat kalian menginstall postfix atau exim4, msmtp tidak akan menguasai fungsi sendmail/mail di sistem operasi linux. Untuk itu perlu disetting juga untuk menggantikan sendmail. Berhubung kita perlunya hanya untuk website dan cron job, maka settingnya sebagai berikut:
# Untuk setting PHP, buka php.ini, lokasinya tergantung sistem operasi yang dipakai
# Jika menggunakan script dari hanyalewat.com,
# maka lokasi php.ini ada di /etc/php5/fpm/php.ini
# Buka file php.ini dan temukan direktif sendmail_path
sendmail_path = '/usr/bin/msmtp -t'
# Untuk cron, buka file /etc/sysconfig/crond, dan cari CRONDARGS
# Tambahkan direktif CRONDARGS jika belum ada
CRONDARGS="-m '/usr/bin/msmtp -t'"
Maka VPS kalian sudah siap menggunakan msmtp sebagai MTA yang akan mengirimkan email via gmail. Sejujurnya ini aku bahas duluan karena dibutuhkan untuk sistem backup dengan notifikasi via email. Kalau ada masalah, silahkan komentar saja ya. Semoga bermanfaat.
Dibawah ini adalah pendapat yang dikirimkan pembaca atas artikel ini. Negara Kesatuan Republik Indonesia adalah negara bebas, anda boleh menulis apa saja asal mampu mempertanggungjawabkannya. Kami menerima kritik dan saran namun tidak menerima caci maki. Hidup cuma sekali, jangan sia-siakan hanya untuk menyakiti hati orang lain.
Disclaimer: Komentar adalah tanggapan pribadi, tidak mewakili kebijakan Hanya Lewat. Redaksi berhak menyunting atau menghapus kata-kata yang berbau narsisme, promosi, spam, pelecehan, intimidasi dan kebencian terhadap suatu golongan.
Anda harus masuk untuk berpendapat.
Tandai dulu, sepertinya akan berguna dalam waktu dekat
Silahkan gan… InsyaAllah aman… 🙂