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
daripear.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 berikutpear 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 kodeextension=php_openssl.dll
Setelah itu restart Apache web server lalu buka
pastikan pada bagian Registered Stream Socket Transports ada tambahan dukungan SSL seperti ini
http://localhost
, Klik menuphpinfo()
.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 :
<?php
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 = "yohandayoas@domain.com";
//ganti dengan emailmu /email resmi website
$from = "yoasyohanda@gmail.com";
$host = "ssl://smtp.gmail.com";
$port = "465";
//emailmu untuk login k gmail
$username = "yoasyohanda@gmail.com";
//passwordmu waktu login gmail
$password = "pass";
$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 ";
}
<?php
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 = "yohandayoas@domain.com";
//ganti dengan emailmu /email resmi website
$from = "yoasyohanda@gmail.com";
$host = "ssl://smtp.gmail.com";
$port = "465";
//emailmu untuk login k gmail
$username = "yoasyohanda@gmail.com";
//passwordmu waktu login gmail
$password = "pass";
$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!.
1 comments:
Cocok banget nih dipakai di aplikasi-aplikasi e-commerce.
Post a Comment