سرمایه گذاری متفاوت در سال نو 🍎🌱 ۳۵٪ تخفیف نوروزی ➕ حضور رایگان در مسترمایند نخبگان صنعت نرم‌افزار 💻✅
۰ ثانیه
۰ دقیقه
۰ ساعت
۹ مجید صادقی زاده
مشکل در تایید ارسال ایمیل توسط صف
مهرداد سامی حل شده توسط مهرداد سامی

با عرض سلام و خسته نباشید 

من ایمیل تایید رو با متد dispatchNow که ارسال می‌کنم هیچ مشکلی نداره و ایمیلی که به پنل mailtrap.io میاد وقتی میزنم عملیات کامل میشه اما وقتی از متد dispatch استفاده میکنم و البته دستور زیر رو اجرا میکنم : 

php artisan queue:work --tries=3 

  • ایمیل تایید ارسال میشه ، اما وقتی روی کلید verify your Email در ایمیل دریافت شده کلیک میکنم خطای 404 میده ، لطفا راهنماییم کنید چطور میتونم درستش کنم

سلام ... 

احتمالا آدرس Url که داخل APP_URL در فایل .env وجود داره با آدرس Virtual host شما متفاوت هستش .. 

چون اون لینک Verify با استفاده از APP_URL داخل فایل env ساخته میشه ...

 
مهرداد سامی ۰۵ اسفند ۱۳۹۸، ۱۹:۱۸

با سلام 

من از دستور php artisan serve استفاده می‌کنم 

اینم مقدار متغیری که فرمودید داخل فایل .env هست

APP_URL=http://localhost
مجید صادقی زاده ۰۶ اسفند ۱۳۹۸، ۰۵:۴۳

دامین لینک ساخته شده چه آدرسی هستش؟

مهرداد سامی ۰۶ اسفند ۱۳۹۸، ۰۶:۱۵

سلام منظورتون اینه ؟ 

http://127.0.0.1:8000

بعد از serve کردن با این آدرس وارد سایت میشم

 

مجید صادقی زاده ۰۶ اسفند ۱۳۹۸، ۱۷:۱۹

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

داخل فایل env کلید APP_URL رو تغییر بدید به 

http://127.0.0.1:8000

 

مهرداد سامی ۰۶ اسفند ۱۳۹۸، ۱۷:۳۲

سلام خسته نباشید جناب سامی 

APP_URL رو به همون شکلی که بالا گفتید ویرایش کردم ، اما خطای Route [login] not defined. رو میده 

جالبه قبلا این خطا رو داشتم که دیدم کنترولر رو اشتباهی خودم بیرون پوشه ی Auth ساخته بودم که اصلاح کردم درست شد ، اما الان من هیچ موردی توی کدها پیدا نکردم ، چند بار بررسی کردم اما باز این خطا رو میده عکس روت‌ها رو براتون پیوست میکنم ، لطفا راهنمایی کنید چیکار باید کنم ، بصورت عادی و بدون استفاده از صف این مشکل به هیچ عنوان نیستش 

توی سوالات دیگه دیدم غیر از من هم دوستان دیگه این مشکل رو داشتند

 

مجید صادقی زاده ۰۹ اسفند ۱۳۹۸، ۱۹:۵۵

برای اینکه از طریق دستور پیش فرض لاراول فرمهای لاگین و رجیستر رو نساختم اصلا از روت login استفاده نشده

مجید صادقی زاده ۰۹ اسفند ۱۳۹۸، ۱۹:۵۷

سلام جناب سامی 
فایل  middleware\authenticate.php داخلش یه متدی هست به این شکل  : 

  protected function redirectTo($request)
    {
        if (! $request->expectsJson()) {
             return route('login');
        }
    }

 

البته فکر نکنم از این متد استفاده شده باشه ، اگه یه توضیحی برای این متد بدید ممنون میشم ، تعبیر من اینه که درخواست‌های جیسون نیستند رو به روت لاگین ریدایرکت میکنه ، آیا این درسته ؟

و موردی دیگه ام که هست الان دوباره تست کردم به هیچ تغییر و دلیلی ، ارسال ایمیل با دستور dispatch درست کار میکنه و فعال سازی توسط لینک هم به درستی کار میکنه !!! خیلی عجیبه اصلا من کاری رو پروژه نکردم !

مجید صادقی زاده ۱۰ اسفند ۱۳۹۸، ۱۵:۵۱

سلام .. 
خیر .. یک Header داخل درخواست‌های Http وجود داره به نام Accept، که شما میتونید تعیین کنید چه نوعی دیتایی رو دریافت میکنید به عنوان Response ... اگر داخل اون نوشته باشید Json ... یعنی جوابی که دریافت میکنید حتما باید json باشه .. این متد هم دقیقا این مورد رو چک میکنه .. در واقع چک میکنه که شما درخواست جواب json دارید یا خیر ... 
این کلاس از یک کلاس دیگه ای به نام Authenticate داره ارث بری میکنه که اون کلاس تشخیص میده شما authenticate شدید یا خیر و اگر احراز هویت نشده باشید با استفاده از این متد شما رو ریدارکت میکنه به route لاگین .. 
 

بهترین پاسخ
مهرداد سامی ۱۰ اسفند ۱۳۹۸، ۱۸:۵۵