Sebuah situs yang memiliki fitur form pendaftaran atau registrasi rata-rata telah menggunakan sistem email aktivasi untuk memvalidasi apakah email yang digunakan user memang benar-benar valid atau palsu. Sistem validasi ini sudah sangat populer dan digunakan oleh banyak situs.
Jika kita menggunakan Engine tertentu, WordPress misalnya, sistem pendaftaran menggunakan mailer tentu saja sangat mudah diaplikasikan. Namun jika kita membuat sendiri sistem aplikasi web dengan basis PHP, developer tentunya butuh trik sebuah trik agar mailer dapat berjalan sebagaimana mestinya.
Jika pembaca memang ingin membangun sendiri sistem pendaftaran atau registrasi beserta mailernya, PHP Mailer yang merupakan produk dari WorkXWare adalah Class / plugin PHP yang cukup bagus untuk di-embed ke dalam sistem. PHPMailer merupakan sebuah class PHP yang berisi fungsi-fungsi untuk melakukan akomodasi email melalui website. Lebih dari 9 juta developer menggunakan Class Mailer ini untuk aplikasi web mereka.
Oleh karena itu, mari kita membuat implementasi pendaftaran menggunakan mailer. Karena tutorial ini cukup panjang, penulis akan membuatnya menjadi tiga sesi, yaitu :
Day 1 (Hari Pertama) – Untuk persiapan class, database dan konfigurasi sistem
Day 2 (Hari Kedua) – Pembuatan form dan sistem
Day 3 (Hari Ketiga) – Implementasi PHP Mailer untuk aktivasi melalui email
Konfigurasi Tambahan – Mengatasi Gagal Kirim Email Pada Php Mailer
Sedangkan cara kerja untuk aplikasi mailer sederhana yang akan kita bangun nanti sebenarnya mirip sistem mailer pada umumnya yaitu menggunakan metode link aktivasi. Berikut adalah cara kerjanya :
- User melakukan pengisian form dengan 2 field yaitu Nama dan Email
- Sistem akan mengirimkan link aktivasi pada Email, sesuai alamat input data dari user
- User melakukan klik pada link aktivasi dan sistem akan mendeteksi bahwa user telah melakukan aktivasi
Tutorial persiapan Class PHP Mailer dan Persiapan konfigurasi database
Gunakan Hosting
Class PHPMailer membutuhkan hosting dengan spesifikasi yang sangat minimal, tidak perlu hosting yang premium. Aplikasikan tutorial ini langsung ke server hosting, jangan menggunakan Localhost. Karena sistem mailer membutuhkan area kerja server yang langsung terkoneksi di dunia maya.
Download PHPMailer
Silahkan download Class PHPMailer melalui link ini (https://github.com/Synchro/PHPMailer) atau bisa melalui link dari Google Code (http://code.google.com/a/apache-extras.org/p/phpmailer/), https://github.com/PHPMailer/PHPMailer. Setelah terdownload, ekstrak ke dalam sistem folder aplikasi pendaftaran Anda. Lihat gambar berikut :
Semua class library yaitu class.phpmailer.php, class.pop3.php, dan class.smtp.php penulis masukkan ke dalam folder library yang terletak di root aplikasi. Pastikan di dalam folder library terdapat 3 Class tersebut dan jangan sampai ada yang kurang.
Konfigurasi Database
Melalui phpmyadmin di hosting CPanel buatlah sebuah database dengan nama misalnya namadomain_mail. Kemudian di dalam database tersebut, buat sebuah tabel semisal bernama User, dengan 4 kolom yang memiliki struktur konfigurasi sebagai berikut :
1. id => tipe data Varchar – 100 digit (Primary).
2. Name => tipe data Varchar – 100 digit (Not Null).
3. Email => tipe data Varchar – 100 digit (Not Null).
4. Confirm => tipe data Varchar – 5 digit (Not Null).
Jika kurang begitu jelas, berikut saya lampirkan gambar screenshot untuk konfigurasi tabel database tersebut :
Penjelasan tabel database :
1. Kolom ID nantinya akan kita fungsikan untuk menampung data acak yang dicreate melalui fungsi PHP. Kolom ID ini bersifat unique (unik) karena setiap user yang mendaftar akan mendapatkan ID yang berbeda-beda untuk keperluan aktivasi melalui link yang dikirimkan email
2. Kolom Name untuk menampung data nama pendaftar, dan kolom Email adalah data email yang nantinya akan dikirimkan kode aktivasi berupa link.
3. Sedangkan kolom Confirm kita fungsikan sebagai boolean (yes atau no). Secara default, sistem akan memberikan boolean bernilai No, dan ketika user melakukan aktivasi database otomatis mengubahnya menjadi Yes.
Pembuatan Form dan Sistem
Sesuai konfigurasi database, berarti kita memiliki dua field untuk form pendaftaran yaitu Kolom Nama dan Email. Sesuai keperluan pembaca, silahkan tambahkan kolom lain dan sesuaikan dengan form pendaftaran. Untuk tutorial mengenai pembuatan form dan sistem akan saya lanjutkan pada tutorial ke Day 2.