عرض ادب و احترام
میخوام تایید حساب کاربر رو در لاراول نسخه 7 پیاده سازی کنم.
دقیقا طبق مستندات لاراول موجود در این صفحه https://laravel.com/docs/7.x/verification پیش رفتم.
یعنی در مرحله اول MustVerifyEmail رو در مدل User قرار دادم :
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable implements MustVerifyEmail
{
use Notifiable , HasRole;
در مرحله بعدی در فایل web.php تنظیمات روت های auth رو به این شکل تغییر دادم :
Auth::routes(['verify' => true]);
توی قدم بعدی میدلور verify رو به روت های خودم اضافه کردم :
Route::group(['namespace' => 'Admin' , 'middleware' => ['auth:web' , 'checkAdmin' , 'verified'] , 'prefix' => 'admin'] , function (){
Route::get('/panel','PanelController@index')->name('admin.panel');
وقتی پروژه خودم رو تست میکنم کاملا کار میکنه یعنی تا این مرحله که کاربر من بعد از register شدن ، وقتی میخواد وارد روت های ادمین بشه پیغام Before proceeding, please check your email for a verification link براش نمایش داده میشه.
اما مشکل اینجاست که ایمیلی ارسال نمیشه. در حالیکه من تنظیمات ایمیل رو هم در فایل .env انجام دادم :
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=aaaaaaaaaaaa
MAIL_PASSWORD=aaaaaaaaaaaaa
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=info@aaaaa.ir
MAIL_FROM_NAME="${APP_NAME}"
تنظیمات MAIL_ENCRYPTION رو هم در حالت null و هم در حالت tls بررسی کردم اما مشکل حل نشد.
در فایل mail.php هم تنظیمات from رو اوکی کردم.
کلی سرچ زدم اما دقیقا همه جا مثل مستندات لاراول گفته شده و نمیدونم مشکل از کجاست.
حتی یک اکانت mailtrap دیگه هم ساختم و تست کردم.
لطفا راهنماییم کنید که کجای کارم ایراد داره.
سلام
@nedatafakor
اگر کلا هیچ ایمیلی ارسال نمیشه باید درایو رو چک کرد
پورت ارسال SMTP :
25 هست
از صحت اطلاعات SMTP اطمینان حاصل کنید.
اگر در حالت تست هستید ، فایروالی آنتی ویروسی چیزی روی سیستمتون هست ، به صورت موقت غیر فعال کنید و تست بگیرید
چون با میل ترپ دارید تست میگیرید ، از استیبل بودن شبکتون اطمینان داشته باشید
موفق باشید.
شاید پاسخ شما همینجا باشد