/ / Laravel एक अधिसूचना में एक रीसेट पासवर्ड लिंक भेजने - लार्वा, सूचनाएं, परिवर्तन-पासवर्ड

लारवेल एक अधिसूचना में रीसेट पासवर्ड लिंक भेज रहा है - लार्वा, नोटिफिकेशन, चेंज-पासवर्ड

मैं एक ईमेल भेजने के लिए एक अधिसूचना का उपयोग कर रहा हूँउपयोगकर्ता जो किसी ने उनके लिए एक खाता बनाया है। मैं यह पता लगाने की कोशिश कर रहा हूं कि उन्हें पासवर्ड / रीसेट पृष्ठ पर कार्रवाई कैसे भेजें। मुझे पासवर्ड / रीसेट पते के अंत में पासवर्ड रीसेट करने के लिए एक टोकन जोड़ने की आवश्यकता है। यदि नहीं तो जब उपयोगकर्ता पासवर्ड रीसेट करने का प्रयास करता है तो उन्हें एक अमान्य टोकन त्रुटि मिलती है। तो मुझे url के अंत में क्या जोड़ने की आवश्यकता है ताकि एक वैध टोकन हो?

$passwordReset = "localhost/password/reset"

कोड से ऊपर कोड के अंत में पासवर्ड रीसेट करने के लिए मैं एक वैध टोकन कैसे जोड़ूं?

उत्तर:

उत्तर № 1 के लिए 1

मेरा मानना ​​है कि यूआरएल होना चाहिए

localhost/password/reset/{token}

उदाहरण के लिए:

localhost/password/reset/15966e3b4460a10a025d2506609e2857d89eea6eed77e898e41922873111afa4

इसे ठीक से काम करने के लिए सभी चार पासवर्ड मार्गों को सक्रिय होना चाहिए (यदि डिफ़ॉल्ट लार्वा का उपयोग करके)

Route::get("password/reset", "AuthForgotPasswordController@showLinkRequestForm");
Route::post("password/email", "AuthForgotPasswordController@sendResetLinkEmail");
Route::get("password/reset/{token}", "AuthResetPasswordController@showResetForm");
Route::post("password/reset", "AuthResetPasswordController@reset");

जवाब के लिए 0 № 2

यदि आप टोकन के साथ मेल भेजना चाहते हैं तो आप ऐसा कर सकते हैं और आप उपयोग कर सकते हैं

Route::post("/PasswordReset", "ResetPasswordController@GetToken");

फिर मेल द्वारा टोकन भेजें जहां आप टोकन बचा सकते हैंआप इसे सहेज भी नहीं सकते आप उपयोगकर्ता नाम का उपयोग कर सकते हैं वहाँ फ़ंक्शन है जिसे bcrypt () कहा जाता है; आप इसके द्वारा अपने उपयोगकर्ता नाम को बदल सकते हैं और यह आपको लंबे समय तक टोकन देगा, लेकिन मैं यह पसंद नहीं करता कि टोकन बदल न जाए

मैं उसे मेल करने के लिए नया पासवर्ड भेजना पसंद करता हूं और उसे लॉगिन करूं फिर पासवर्ड बदलूं आप str_random (8) का उपयोग कर सकते हैं; यह अक्षरों के साथ 8 यादृच्छिक संख्या उत्पन्न करेगा

आपकी मदद करना सबसे पहले आपको अपने मेल को कॉन्फ़िगर / कॉन्फ़िगर करना होगा और ड्राइवर के बाद इसे जोड़ें

"driver" => env("MAIL_DRIVER", "smtp"),
"stream" => [
"ssl" => [
"verify_peer" => false,
"verify_peer_name" => false,
"allow_self_signed" => true,
],
],

दूसरा आप पर जाएँ। इसे अपने होस्ट विवरण सूची में बदल दें

MAIL_DRIVER = smtp

MAIL_HOST = smtp.gmail.com

MAIL_PORT = 587

MAIL_USERNAME=yourgmailMail@gmail.com

MAIL_PASSWORD = YourPassword

MAIL_ENCRYPTION = TLS

तीसरा आपके कंट्रोलर के पास जाता है कि आप मेल में लिस्ट फंक्शन करेंगे। इसका नाम SendMassEmailController है यह पूरा नियंत्रक है

अंतिम बात मार्ग है web.php पर जाएं

Route::post("/SendMassEmail","SendMassEmailController@SendMassEmail");

अंत में गुड लक और हैव फन