Cara mengirim email di PHP

Membuat website dengan bahasa pemrograman PHP memang sering menjadi pilihan karena kemudahan dalam pengembangan dan banyak sekali web hosting yang sudah mendukungnya, bahkan yang gratis juga ada. Salah satu komponen penting untuk komunikasi dan menyampaikan informasi adalah email, dan di PHP pun cukup gampang dalam menggunakannya.

Jika anda tidak memiliki class Mail di PEAR (PHP Extension and Application Repository) maka anda bisa gunakan fungsi mail() built-in di PHP. Cara penggunaan mail() didefinisikan di sendmail_path pada php.ini.

warszawianka / Public Domain
warszawianka / Public Domain

Jika anda menggunakan Windows ubah variabel SMTP ke hostname dari server SMTP, dan isikan dengan username dan password akun SMTP server anda. Sedangkan alamat email pada From: berasal dari variabel sendmail_from.

Ini adalah contoh dengan menggunakan mail():
$to = \'[email protected]\';
$subject = \'Percobaan mengirim email\';
$body = \'Apakah email ini masuk?\';
mail($to, $subject, $body);

Parameter pertama adalah alamat dari penerima email, kedua adalah judul dari email dan yang terakhir adalah isi dari email. Anda juga bisa memasukkan parameter keempat. Contoh, ini adalah cara untuk menambah header Reply-To dan Organization:
$to = \'[email protected]\';
$subject = \'Percobaan mengirim email\';
$body = \'Apakah email ini masuk?\';
$header = "Reply-To: [email protected]\\r\\n"
."Organization: utekno";
mail($to, $subject, $body, $header);

Pisahkan tiap header email dengan \\r\\n, tetapi jangan tambahkan \\r\\n setelah header terakhir.

Oh ya cek folder spam di inbox email anda saat menguji coba, kekurangan cara ini kadang dianggap email sampah kecuali anda menggunakan SMTP server, dan ada yang gratis seperti memanfaatkan server SMTP Google.

Apapun cara yang anda gunakan sebaiknya buat sebuah fungsi untuk membantu anda dalam mengirim email. Seluruh pengiriman email “dipaksa” melalui fungsi ini akan mempermudah dalam pencatatan (logging) dan validasi lain dalam tiap pengiriman. Cara berikut menggunakan package Mail dari PEAR.
function pc_mail($to, $headers, $body) {
$message =& Mail::factory(\'mail\');
$message->send($to, $headers, $body);
error_log("[MAIL][TO: $to]");
}

Dalam hal ini tiap ada aktivitas pengiriman email akan tercatat di error log. Tiap catatan terdapat waktu terjadi aktivitas tersebut. Penambahan fitur atau vaslidasi juga dapat anda tambahkan disini.

Tulis komentar...