💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ محمدجوکار
آورراید متد sendEmailVerificationNotification در مدل User
جامعه لاراول ایجاد شده در ۱۲ خرداد ۱۴۰۳

سلام و احترام

تمرینی که استاد بهمون دادن و گفتن این قسمت رو پیاده‌سازی کنیم، به یه مشکل ریز خورده حقیقتا.

در ابتدا من اومدم توی مدل یوزر، متد sendEmailVerificationNotification رو بازنویسی کردم: 

screenshot-220-mRmD.png

نوتیفیکیشن verifyEmail خودم رو صدا زدم و با توجه به اینکه نمیدونستم چطور باید آبجکت notifiable رو دریافت کنم، متدهای خود لاراول استفاده کردم و لاجیکشو اینجا کپی کردم و خب طبق نیاز پروژه،‌ ادیت زدم:

screenshot-222-x1AV.png

تا به اینجای کار، همه چیز اکیه و الان اگر از متد buildMailMessage یه دامپ بگیرم و ببینم پارامترهاش اکی هستند یا خیر، دقیقا موارد مورد نیاز من که ایمیل هش شده + امضا به جهت اعتبارسنجی، و ایمیل اون کاربر برای قرار دادن در متد ()to هستش رو کاملا برمیگردونه. 

از اینجا به بعد، به همراه پاس دادن url وارد App\Mail\SendVirifyEmail میشیم:

screenshot-223-z5Om.png

الان توی این کلاس، من  url هش شده رو قرار میدم در متد content برای ورود به markdawn: تا یوزر بتونه با کلیک روی اون، آتنتیکیت بشه. 

و همینطور هم که میبینید قبلا دامپ گرفته بودم ازش در لاین ۴۵، url هش شده به صورت کامل نشون داده میشه. 

و از اینجا به بعد، هش رو میریزیم توی مار‌ک‌داون: 

screenshot-224-bgNQ.png

در این قسمت هم که قرارش میدیم توی button و اکیه دیگه تموم همه‌چیز ... 

اما

ارور داریم

screenshot-227-rIv7.png

داره به متد toMail گیر میده به شکل بالا. 

 

ولی:  با وجودِ ارور، ایمیل ارسال میشه و با کلیک روی دکمه، ولیدیشن اتفاق میافته

screenshot-230-Zd8V.png

 

میییدونم مشکلش با نوع ارسال ایمیل منه. چون وقتی که در نوتیفیکیشنِ VerifyEmail از Mail::to برای ارسال ایمیل استفاده نمیکنم و همون پیشفرض خودش رو (MailMessage) قرار میدم، کللل ماجرا اکیه. در حقیقت فرقی که ما قراره ایجاد کنیم اصلا از همینجا به بعد هست وگرنه با MailMessage که همچیز میشه مثل دیفالت لاراول. 

screenshot-228-fQiV.png

گفتم شاید با تصحیح لاین ۵۸ و نوشتن اینکه باید خروجی حتما چیزی از جنس SendVerifyEmail باشه، ماجرا حل شه، که اینطوری نشد و باز هم ارور پا بر جا بود... 

اگر کلا حذفش کنم و بگم خروجی مهم نیست چی باشه، ارور، به ارور زیر تغییر پیدا میکنه و به مدلم گیر میده:

screenshot-229-txzW.png

 

خیلی خیلی درگیرم باهاش و کلللی خستم کرده. ممنون میشم اگر کمک کنید

لینک گیت‌هاب پروژه