Ketika registrasi pada sebuah website, biasanya website tersebut mengirimkan email ke alamat email yang didaftarkan. Emailnya berisi sebuah link yang harus di klik untuk verifikasi kebenaran alamat email yang didaftarkan. Kali ini kita akan bahas bagaimana mengirim email melalui PHP. Pengiriman email akan dilakukan melalui SMTP (Simple Mail Transfer Protoco). SMTP angprotokol  menetapkan proses pengiriman dan penerimaan e-mail dalam jaringan komputer, seperti internet. Biasanya dalam sebuah web hosting berbayar sudah disediakan SMTP server, namun ketika ketika akses untuk SMTP server tidak disediakan, saatnya menggunakan email gratisan. Gmail adalah salah satu email gratis dengan fasilitas SMTP dan POP3, kekurangannya hanya satu yaitu email yang dikirim bisa saja dikira palsu oleh yang menerima, karena tidak menggunakan domain yang sama dengan tempat mendaftar. ya sudahlah, karena ini hanya untuk pembelajaran, tak jadi masalah lah đ
Pertama yang harus disiapkan adalah web server, pakai vps? serem? tidak juga, pakai local web server saja, jangan lupa ditambah database server. Kalau mau gampang, tinggal unduh paket xampp, bahkan ada paket yang tanpa install. ambilnya di http://www.apachefriends.org/en/xampp.html cara pakainya liat disitu juga ya đ
Server sudah siap, localhost sudah jalan, selanjutnya mari bikin form registernya, pasti sudah pada tau kan? kalau belum, nanti saya tambah đ Intinya adalah buat form dengan isian username, password, email dan isian lain disesuaikan dengan kebutuhan. Databasenya juga gitu, satu lagi tambahkan field kode pada tabel tersebut. field kode ini akan diisi kode pendaftaran. kode pendaftaran ini akan dibuat dengan angka random yang di md5 biar agak seram dan susah ditebak. kode ini akan ditambahkan dalam database setiap user melakukan pendaftaran. contoh sql insertnya kira kira seperti ini:
[php]
$kode=md5(rand(0,10000));
[/php]
[sql]
INSERT INTO pengguna (username, password,email,isaktif kode)
VALUES ($username, $password, $email,’0′, ‘$kode’)
[/sql]
Kemudian, bagian mengirim email, tidak susah, langkah langkahnya adalah:
- Buka php.ini di apache/lib, hilangkan tanda titik koma (;) di depan extention=php_openssl.dll tujuannya adalah untuk mengaktifkan modul open ssl karena gmail make ssl. restar apache nya.
- download phpmailer di http://sourceforge.net/projects/phpmailer/ kemudian ekstrak ke folder ang sama dengan tempat naruh file untuk proses register.
- Siapkan sebuah alamat email gmail yang akan digunakan untuk mengirim email.
- tambahkan kode berikut pada baris tempat register berhasil
[php]
require("phpmail/class.phpmailer.php"); // path to the PHPMailer class
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Mailer = "smtp";
$mail->SMTPSecure = ‘tsl’;
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 465;
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "DIGANTI-USERNAME-GMAIL-NYA@gmail.com"; // SMTP username
$mail->Password = "DIGANTI-PASSWORD-GMAIL-NYA"; // SMTP password
$mail->From = "DIGANTI-USERNAME-GMAIL-NYA@gmail.com";
$mail->AddAddress($email);
$mail->Subject = "Konfirmasi Registrasi Website";
$mail->Body = "klik link berikut untuk validasi user http://ALAMAT-WEBSITE/validate.php?id=".$kode;
$mail->Send()
[/php]
- $mail->Username  diisi username gmail yang akan digunakan untuk mengirim email
- $mail->Password diisi password gmail yang akan digunakan untuk mengirim email
- $mail->From diisi alamat email yg mengirim email
- pastikan dalam $mail->AddAddress() adalah variabel yg berisi alamat email user yang baru mendaftar
- $mail->Body silahkan sesuaikan katakatanya.
[sql]UPDATE pengguna SET isaktif=’1′ where kode=’$_GET[id]’
[/sql]
kalo yahoo gimana mas ? thanks
kalo lewat webmail bisa gan? caranya gimana gan?
webmail tidak bisa, kecuali webmailnya juga support smtp.
bagus mas, thx