CandraLab

IT Pro & Developer Resource

Menu Close

Cara kirim email dengan PHP

Langsung saja, kadang website yang kita bangun membutuhkan fungsi untuk mengirim email. Misalkan email untuk memverifikasi pendaftaran, lost password, atau mengirim artikel terbaru ke user. PHP mempunyai fungsi mengirim email mail(). Sayannya, fungsi ini tidak bisa bejalan di Windows meningat windows tidak punya mail server.

Untuk mengatasi cara diatas, anda bisa menginstall mail server lokal seperti Argosoft mail server atau meletakannya di webhosting. Kedua cara tersebut cukup ribet. Saya akan mengajarkan cara sederhana mengirim email dengan memanfaatkan Server Gmail dan akun yang kita punya disana. Kelebihan teknik ini lebih sederhana, email yang kita kirim akan masuk INBOX, bukan masuk folder spam.

Pada praktik ini saya asumsikan anda memakai Windows dengan Server XAMPP. Saya sendiri memakai XAMPP 1.7.4. Ada dua langkah utama yaitu seting XAMPP agar bisa mengirim email dan membuat script kirim email itu sendiri.

Seting XAMPP

Seting XAMPP terbagi menjadi dua yaitu menginstall paket mail.php dari pear.net.php dan menambahkan support SSL ke php.ini.

Install paket mail.php

Buka command prompt dan pastikan anda didrektori C:\XAMPP\php ,jalankan perintah berikut

pear channel-update pear.php.net
pear install mail

Menambahkan support SSL ke PHP

Buka file php.ini XAMPP\php\php.ini pada bagian Windows Extentions (sekitar baris 950), tambahkan kode

extension=php_openssl.dll

Setelah itu restart Apache web server lalu buka http://localhost, Klik menu phpinfo().
pastikan pada bagian Registered Stream Socket Transports ada tambahan dukungan SSL seperti ini

tcp, udp, ssl, sslv3, sslv2, tls

Buat skript Kirim email

Script untuk kirim emailnya adalah sebagai berikut :

require_once "Mail.php";
$subject = "Test mail PHP";
	$body = "Test email dengan PHP dan GMAIL !!!";
	//mail($to, $subject, $body,$headers);
	//ganti baris ini dengan email yang dituju 
	$to = "email_yang_dituju@domain.com";
//ganti dengan emailmu /email resmi website
	$from = "emailmu_di_gmail@gmail.com";
	$host = "ssl://smtp.gmail.com";
	$port = "465";
	//emailmu untuk login k gmail 
	$username = "emailmu@gmail.com";
	
	//passwordmu waktu login gmail
	$password = "passwordmu";

$headers = array('From' => $from, 'To' => $to, 
'Subject' => $subject);
$smtp = Mail::factory('smtp', array('host' => $host,
 'port' => $port, 'auth' => true,
 'username' => $username, 'password' => $password));

	$mail = $smtp -> send($to, $headers, $body);

if (PEAR::isError($mail)) {
echo("<p> Email Gagal dikirim" . $mail -> getMessage() . "</p>");
}else{
echo "Email berhasil di kirim ";
}

What next?

contoh diatas hanyalah script sederhana untuk mengirim email. Anda bisa mengintegrasikan dengan script untuk mereset password, untuk memverifikasi email saat pendaftaran user, notifikasi pada ecommerce dan sebagainya, semua tinggal disesuaikan denan kebutuhan web yang sedang anda buat. Selamat mencoba!.