Memperbaiki mail() jadi SMTP di WordPress Self Hosted
sekedar tips saja untuk yang menggunakan WordPress namun di hosting anda tidak support fungsi mail() di php nya…atau di disable. malah di hosting saya tidak diberitau setelah di disable dan tidak ada notifikasi error kalau fungsi itu sudah tidak dapat digunakan. alhasil tidak ada email notifikasi yang masuk bahkan mereset password pun tidak bisa.
Akhirnya saya mencari-cari cara agar website saya dapat kembali mengirimkan email. saya muter-muter di google dan kebanyakan menyarankan untuk menggunakan SMTP. namun setelah mencoba-coba sampe pusing dan gagal juga akhirnya saya menggunakan plugin saja. namun setelah saya coba-coba tetap saja tidak bisa walaupun di plugin tersebut mengklaim support untuk SMTP Gmail.
dan kemudian saya kembali ke metode pertama yaitu mengubah script wordpress. berikut file yang saya edit:
/wp-includes/class.phpmailer.php
/wp-includes/pluggable.php
file class.phpmailer.php berisi fungsi-fungsi class untuk mengirim email. sedangkan pluggable.php berisi cara wordpress mengirimkan email.
pada file class.phpmailer.php diedit pada bagian:
disekitar setelah baris 177 (Properties for SMTP)
[code language=”php”]
var $Host = ”;
var $Port = 0;
[/code]
isikan Host dan Port nya menjadi Localhost dan Port 25. ketika saya mencoba untuk konek ke SMTP gmail selalu gagal. ternyata ke localhost pun bisa.. enjoy…hehe
[code language=”php”]
var $Host = ‘localhost’;
var $Port = 25;
[/code]
nah bagian yang di edit pada file pluggable.php adalah:
disekitar baris ke 422 (WordPress 3.0.2)
[code language=”php”]
// Set to use PHP’s mail()
$phpmailer->IsMail();
[/code]
menjadi
[code language=”php”]
// Set to use PHP’s mail()
//$phpmailer->IsMail(); // <- di disable aja
$phpmailer->IsSMTP();
[/code]
ingat, PHP merupaka case sensitive.
dan sekarang anda bisa mencobanya dengan memberikan komentar di web anda tapi ingat jangan login sebagai admin. 🙂