سوال در مورد ارسال ایمیل

سوال شده توسط:

تاریخ ثبت: ۱۴۰۰/۰۹/۰۴

بازدید: 1,121

پاسخ: 14

تگ: Laravel


سلام مجدد من میخوام وقتی مقاله ای برا وبسایت منتشر میکنم به همه کاربرا ایمیل ارسال بشه همه کار هاشو انجام دادم به صورت job و queue ولی مشکل اینجاست که وقتی میخوام queue رو انجام بدم باید از دستور php artisan queue:work استفاده کنم که نمیخوام اینطوری باشه مثلا هر روز یه تایمی این queue به طور خودکار انجام بشه بدون اینکه با artisan بنویسم یا اینکه کلا باید از روش دیگه ای برا اینکار استفاده کنم؟(میخوام وقتی مقاله ای برا وبسایت منتشر میکنم به همه کاربرا ایمیل ارسال بشه) میدونم زیاد به این آموزش مرتبط نیست ولی خیلی کارم گیره
پاسخ ها
user

قاسم بساکی

سلام دوست عزیزم من خودم هم به همین شکل از queue استفاده می کنم ولی راستش دنبال راه دیگه ای نگشتم . بازهم اگه راهی به ذهنم رسید میگم بهتون.

user

ممنون
و اینکه چطور از همین queue استفاده کنم؟
بدون اینکه دستور php artisan queue:work رو بزنم؟

user

قاسم بساکی

راستش قبلا هم راهی برای این مورد پیدا نکردم ولی شاید بتونید این دستور رو در کنترلر اجرا کنید ، بعد از ثبت مقاله. که به صورت اتوماتیک انجام بشه. و نیاز به اجرای دستی دستور نباشه. این لینک رو بررسی کنید

https://webdevetc.com/programming-tricks/laravel/general-laravel/how-to-run-an-artisan-command-from-a-controller/
user

مرسی کار میکنه ولی سرعت خیلی پایینه به طوری که قابل استفاده نیست
از سرویس های ارسال ایمیل نمیشه استفاده کرد؟

user

 protected function schedule(Schedule $schedule)
    {
        $schedule->command('queue:work')->everyMinute();
    }

با این دستور تونستم انجام بدم ولی خودشو باید با این دستور: 
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
تو سرور اضافه کنم که بلد نیستم میشه راهنمایی کنید؟
راستش من اولین پروژه مو گرفتم و خیلی مهمه که این کار رو انجام بدم

 

user

قاسم بساکی

آیا بدون استفاده از queue امتحان کردید ؟ که ازمتود ارسال ایمیل بعد از ثبت مقاله استفاده بشه؟

user

بله بدون queue امتحان کردم ولی مثلا از 5 تا کاربر بیشتر میشه خطا میده چون ارسال ایمیل یکم زمان بره

user

قاسم بساکی

اگه ارسال ایمیل رو توی حلقه میذارید خوب باید زمان ببره. اگه ایمیل گروهی بفرستید اینطوری نمیشه

user

چطوری ایمیل گروهی بفرستم؟

user

قاسم بساکی

خیلی کار سختی نیست معمولا همونجایی که ایمیل رو وارد میکنید باید با , از هم جداسون کنید یا یک آرایه بدید الان دسترسی به پروژه های خودم ندارم که نمونه کد خودم بدم ولی این اینک ممکنه کمک کنه

https://stackoverflow.com/questions/30787399/laravel-5-sending-group-emails

میتونید این رو هم سرچ کنید نمونه زیاد هست

how to send group mail in laravel

user

خیلی ممنون

user

یه سری سوال هم دارم میشه ایمیل کنم براتون؟

user

قاسم بساکی

دوست من مشکلی نیست همینجا بپرسید

user

خیلی ممنون از پاسخگوییت واقعا لطف کردی بهم
تونستم queue رو ردیف کنم با دستور cron
فقط الان تو ست کردن ایمیل تو فایل env گیر کردم
 

برای ثبت پاسخ باید خود شوید

محبوب ترین مقالات