nafiesl / silsilah

A genealogy/family tree application, built with Laravel.
MIT License
577 stars 283 forks source link

Error saat ingin mereset password pada halaman lupa password #70

Closed pemburu-kage closed 3 years ago

pemburu-kage commented 3 years ago

error lagi

nafiesl commented 3 years ago

Halo mas @pemburu-kage, bisa dibuatkan cara reproduce bugnya (tahapan proses sampai dapat bugnya)?

Berikut contoh laporan bug yang baik: https://github.com/nafiesl/SimpleCrudGenerator/issues/39, supaya lebih mudah dam menghemat waktu untuk mencari solusinya.

Terima kasih.

pemburu-kage commented 3 years ago

sy masuk ke halaman lupa password kemudian setelah memasukkan email ke form lalu mereset passwod terjadi error : Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required "

nafiesl commented 3 years ago

screen_2021-05-26_001

Baik mas @pemburu-kage, saya berhasil reproduce bugnya.

Cara reproduce:

  1. Di halaman login, klik link Forgot Password
  2. Masukkan alamat email yang sudah terdaftar (dari register user)
  3. Klik tombol Send Password Reset Link
  4. Muncul error seperti di atas.

Penyebab:

  1. Konfigurasi mail driver di env variable menggunakan smtp dengan mail host mailtrap.io.
    MAIL_DRIVER=smtp
    MAIL_HOST=smtp.mailtrap.io
    MAIL_PORT=2525
    MAIL_USERNAME=null
    MAIL_PASSWORD=null
    MAIL_ENCRYPTION=null
  2. Ketika submit alamat email untuk reset password, sistem mencoba mengirim email untuk reset pasword, tetapi gagal karena konfigurasi email tidak lengkap (MAIL_USERNAME=null, MAIL_PASSWORD=null)

Solusi:

(Bisa pilih salah satu.)

Pilihan 1: set mail driver ke log di file .env.

MAIL_DRIVER=log

Ini akan membuat email hanya terkirim ke log laravel (tidak mencoba kirim email beneran), konten emailnya bisa dicek di: storage/logs/laravel-xxxx-xx-xx.log (di mana xxxx-xx-xx adalah tanggal hari ini)

Pilihan 2: Buat akun mailtrap.io, lalu set username dan passwordnya di file .env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=username_mailtrap
MAIL_PASSWORD=password_mailtrap
MAIL_ENCRYPTION=null

Ini akan membuat proses reset password mengirim email beneran, tapi ke mailtrap (jika belum tahu mailtrap, bisa coba cari di youtube "integrasi mailtrap di laravel").

Pilihan 3: Set kredensial email SMTP dari akun email beneran ke file .env. Misal alamat emailnya: noreply@example.net, maka bisa diisi konfigurasi lengkapnya seperti ini.

MAIL_DRIVER=smtp
MAIL_HOST=mail.example.net
MAIL_PORT=2525
MAIL_USERNAME=noreply@example.net
MAIL_PASSWORD=password_emailnya
MAIL_ENCRYPTION=tls

Rekomendasi Saya

Untuk tahap development di localhost, cukup dengan opsi 1. Jika ingin melihat konten emailnya beneran, pilih opsi 2.

Kesimpulan

Problem ini bukan bug dari sistem silsilah, hanya konfigurasi untuk proses pengiriman email saja yang tidak lengkap. Silakan pilih salah satu opsi solusi di atas.

Semoga terjawab, terima kasih.

nafiesl commented 3 years ago

Issue ini kita close karena 3 opsi solusi di atas seharusnya sudah cukup menjawab. Terima kasih.