Mungkin banyak dari kita yang mengandalkan fungsi Mail() dalam pengiriman email baik notifikasi untuk blog maupun keperluan lain. Mail() cukup handal dan mudah diimplementasikan, namun adakalanya kita butuh mekanisme untuk autentikasi atau kondisi dimana Mail() secara langsung tidak dapat digunakan.
Ada banyak jalan menuju Roma, banyak jalan pula untuk pengiriman email, tergantung dari pendekatan apa yang diinginkan. Kali ini saya akan coba share mengenai penggunaan fungsi Mail di PHP:PEAR. Konsepnya sama dengan di built-in Mail di PHP tapi dengan fitur lebih, salah satunya attachment dan authentication. Khusus di contoh kali ini saya akan jelaskan bagai man cara mengirim email menggunakan Google Apps for Domain atau Gmail via PHP:PEAR
Langsung saja!
Cek dulu ketersediaan Mail di PHP:PEAR, buka console dan ketikkan perintah berikut:
- pear install mail
- pear install Net_SMTP
- pear install mail_mime
<? require_once "Mail.php"; $to = "alamat_email_penerima@namadomain"; $host = "ssl://smtp.gmail.com"; $port = "465"; $username = "alamat_email_akun_gmail_anda@gmail.com"; $password = "password-akun-anda";
$nama = $_POST['name']; // required $pengirim = $_POST['email']; // required $telpon = $_POST['telpon']; // not required $subjek = $_POST['subjek']; // required $pesan = $_POST['body']; // required
$email_message .= "Name: ".clean_string($nama)."\n"; $email_message .= "Email: ".clean_string($pengirim)."\n"; $email_message .= "Telephone: ".clean_string($telpon)."\n"; $email_message .= "Subject: ".clean_string($subjek)."\n"; $email_message .= "Comments: ".clean_string($pesan)."\n";
$headers = array ('From' => $pengirim, 'To' => $to, 'Subject' => $subjek); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $email_message); if (PEAR::isError($mail)) { echo("<p>" . $mail->getMessage() . "</p>");} else { header('Location: http://namadomainanda.com/mailsent.html'); } ?>
Selamat mencoba!