Yuk langsung simak tutorial membuat reset password user dengan email di laravel berikut.
Reset Password Laravel Via Email
Disarankan kepada teman-teman untuk membaca tutorial sebelumnya dulu tentang cara membuat login dan register dengan laravel.
Persiapan Project
Langkah pertama kita akan mempersiapkan project laravel kita terlebih dulu. jika teman-teman sudah mengikuti tutorial sebelumnya tentang membuat login dan register, teman-teman bisa melewati step ini.
Buka terminal atau command promt teman-teman, kita akan membuat project baru laravel dengan nama βlaravelkuβ.
composer create-project βprefer-dist laravel/laravel laravelku
Persiapan Database
Setelah selesai, selanjutnya kita akan membuat database dan table-table yang dibutuhkan.
Disini saya membuat database dengan nama βlaravelkuβ.
Atur konfigurasi database laravelnya pada file .env.
.env
1
2
3
4
5
6
|
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelku
DB_USERNAME=root
DB_PASSWORD=root
|
Silahkan teman-teman sesuaikan dengan username, password mysql dan nama databasenya.
Kita bisa langsung migrate file-file migration yang telah disiapkan secara default pada project laravel. masuk ke direktori project dari terminal atau command prompt dan jalankan perintah artisan berikut.
php artisan migrate
Setelah selesai, selanjutnya kita buat authentikasi pada laravel.
Membuat Autentikasi Laravel
Untuk membuat sistem autentikasi atau login, sudah dijelaskan sebelumnya pada tutorial membuat login dan register.
Jalankan perintah berikut.
php artisan make:auth
Setelah mengetikkan perintah artisan di atas, maka sekarang kita akan punya halaman login dan register.
Silahkan teman-teman klik pada menu register, dan buat akun baru untuk percobaan kita.
di sini saya sudah mendaftar dengan detail sebagai berikut:
- Nama : Diki Alfarabi Hadi
- Email : diki@malasngoding.com
- Password : diki123
Mailtrap.io
Selanjutnya kita akan langsung belajar bagaimana membuat fitur reset password atau fitur lupa password via email.
Sebenarnya segala sesuatunya sudah dipersiapkan dengan lengkap oleh laravel, hanya saja sistem kita belum bisa mengirimkan email konfirmasi reset password secara otomatis ke client/user. karena kita belum menghubungkan project kita dengan mail service.
Untuk itu kita perlu SMTP server. SMTP adalah singkatan dari Simple Mail Transfer Protocol. SMTP digunakan untuk mengirim komunikasi ke server. untuk mengirimkan email ke penerima.
Untuk percobaan, kita bisa menggunakan Mailtrap.io secara gratis.
Mailtrap adalah fake SMTP server untuk percobaan. kita bisa menggunakan mailtrap untuk membuat simulasi percobaan pengiriman dan penerimaan email pada saat proses pengembangan aplikasi atau website. sebelum akhirnya aplikasi atau website kita benar-benar di publis.
Bagaimana cara menggunakan mailtrap? simak penjelasan berikut.
Mendaftar Di Mailtrap.io
Untuk menggunakan mailtrap, silahkan teman-teman mendaftar di situs resminya. yaitu https://mailtrap.io/.
Setelah mendaftar, silahkan login. dan klik pada Demo inbox,
Maka teman-teman akan mendapat Credentials dari mailtrap.
Nah, username dan password inilah yang akan kita masukkan ke project laravel kita untuk menghubungkan project laravel dengan mailtrap.
Konfigurasi Mailtrap Di Laravel
Buka file .env. dan isikan username dan password SMTP yang teman-teman dapatkan dari mailtrap.
.env
1
2
3
4
5
6
|
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=2445212462a6b8
MAIL_PASSWORD=3db82773467523
MAIL_ENCRYPTION=null
|
Jangan isi username dan password yang sama dengan yang ada di tutorial ini, karena tidak akan berjalan. silahkan teman-teman isi dengan username dan password SMTP yang teman-teman dapatkan sendiri di akun teman-teman.
Oh ya, jangan lupa untuk mengatur APP_URL nya juga dengan menambahkan port 8000 jika teman-teman mengakses project laravel nya melalui http://localhost:8000.
1
|
APP_URL=http://localhost:8000
|
dan teman-teman tidak perlu melakukan pengaturan ini jika teman-teman mengakses project laravelnya langsung melalui http://localhost/laravelku/public.
Selanjutnya kita sudah siap untuk menggunakan
Testing
Sekarang fitur reset password telah siap digunakan, karena saya ingin mengakses project laravel saya melalui http://localhost:8000, maka saya jalankan projectnya dengan perintah artisan berikut.
php artisan serve
akses http://localhost:8000 dan klik lupa password pada halaman login. maka kita akan diarahkan ke halaman konfirmasi email. masukkan email anda tadi. di sini saya mengisi email akun saya yaitu diki@malasngoding.com.
Klik Send Password Reset Link. Kemudian akan muncul pemberitahuan bahwa link untuk me-reset password telah dikirimkan ke email.
Sekarang kita cek pada akun mailtrap.io kita, apakah benar emailnya sudah masuk.
Nah, sudah ada email baru yang masuk. buka email tersebut. itu adalah email konfirmasi reset password atau ganti password untuk user yang melakukan reset password.
Klik pada tombol reset password. dan akan dialihkan ke halaman ubah password.
Isi kembali emailnya, isi password baru dan konfirmasi passwordnya. maka kita akan dialihkan ke halaman dashboard. dan akan muncul pemberitahuan bahwa password telah direset.
Nah selesai sudah teman-teman, cara membuat reset password melalui email dengan menggunakan mailtrap di laravel.
Bukan cuma digunakan untuk percobaan pengiriman email reset password, mailtrap juga bisa kita gunakan untuk membuat percobaan pengiriman email broadcast, notification dan lain-lain.
Ingat sekali lagi, mailtrap hanya sebagai tempat percobaan pengiriman email dari sistem kita, setelah nantinya aplikasi atau website kita dipublish, kita bisa menggunakan SMTP server lainnya seperti gmail, atau server teman-teman sendiri.