ارسال ایمیل چندتایی

- 1 ماه پیش
توسط علی بیات آپدیت شد
Ali Ghaleyan ( 3785 تجربه )
1 ماه پیش

سلام دوستان من میخوام که یه سری کد تخفیف برای کاربران سایت به صورت رندم به تعداد مشخص ارسال کنم
یعنی یوزر هایی که به صورت رندم انتخاب شدن برا هر کدومشون کد تخفیفی ارسال میشه
میخوام که اینکارو در لاراول انجام بدم اما در انجامش مشکل دارم و کلا برام مبهمه که چطور به چند تا ایمیل مقدار های متفاوتی بفرستم
البته فکر میکنم راه دیگه ای غیر از استفاده از foreach باشه
ممنون میشم راهنماییم کنین ... تشکر

Alimotreb ( 91342 تجربه )
1 ماه پیش

سلام
@Serjik

شما به نظرم یه لیستی از یوزر هارو حالا تو جدول یا آرایه داشته باشید
توی حلقه فور ایچ
یه روتی رو در نظر بگیرید
یه کنترلری هم در نظر بگیرید با یه متد!
توی متد یه حلقه foreach بزنید
یوزر هارو پیمایش کنید
هر یوزری رو که داشتید پیمایش میکردید قبلش یه کدی براش در نظر بگیرید و اون کد رو بدید به تمپلیت ایمیل و ارسال کنید!
یعنی مراحل ساختن کد
پیمایش ایمیل یوزر ها
و ارسال ایمیل با تابع مخصوصش
این هارو توی یه حلقه بزاید

البته این کار برای تعداد یوزر کم جوابگو هست! 100 تا به فرض
ولی برای تعداد بیشتر احتمالا ارور کانکشن بگیرید که باید تنظیمات سرور تغییر کنه!
ولی شدنیه .

ولی شما میتونید 1 کد تخفیف بسازید
اون رو به همه بفرستید !! حتما نباید برای هر کابر جدا باشه که
کد تخفیف روی محصول اعمال باید بشه نه روی کاربر!

Ali Ghaleyan ( 3785 تجربه )
1 ماه پیش

@Alimotreb
سلام ممنون از راهنماییتون
ولی ایا کار ساده تر از این هم هست که بتونم با چند خط کد و پاس دادن همه ایمیل ها با Mail این کار رو انجام بدم
نمونه اش توی گوگل هست اما نتونستم ازش خروجی بگیرم

Alimotreb ( 91342 تجربه )
1 ماه پیش

سلام
@Serjik

این روش رو من خودم انتخاب نمیکنم چون میگم توی تعداد بالاتر execution time error میگیرید
هدف اگه ارسال ایمیل باشه
با اکانت SMTP و نرم افزار های ارسال انبود آدم ایمیل میفرسته
ولی اگر حالت خبر نامه ای بخواد باشه ، و اطلاع رسانی ها انجام بشه
شما باید یه کلاس جدا به صورت ماژولار براش تعریف کنید و در هر جای برنامه که کار خاصی میخواستید کنید از اون کلاس بهره ببرید
اگر با job ها و اینا بخوایید کار کنید به نظر من باید قسمت بندی بشه و ...
که هر 100 تا یوزر در صف قرار بگیرند سر تایمشون کد ساخته بشه ایمیل ارسال بشه ( همون حلقه )

Ali Ghaleyan ( 3785 تجربه )
1 ماه پیش

@Alimotreb
ینی یوزر هارو داخل حلقه قرار بدم و job رو صدا بزنم و ایمیل رو بهش پاس بدم؟

Alimotreb ( 91342 تجربه )
1 ماه پیش

سلام
@Serjik

بله به نظرم یوزر هارو پیمایش کنید تو حلقه
به ازای هر یوزر کدتون رو بسازید ، ایمیل یوزر و کد رو بدید به میل
تعداد بالاتر بود 100 تا 100 تا تقسیم کنید و جاب رو صدا کنید که تایم مشخص بفرسته.

Ali Ghaleyan ( 3785 تجربه )
1 ماه پیش

@Alimotreb
شرمنده من متوجه نشدم که چطور صد تا صد تا تقسیم انجام بشه و جاب صدا زده بشه
چطور؟؟ نمونه کدی دارید

Alimotreb ( 91342 تجربه )
1 ماه پیش

سلام
@Serjik

نمونه کد که ندارم
ولی تو یه حلقه از 0 تا 100
حلقه بعدی از 101 تا 200 به فرض
شمارنده براش بزارید
همه رو تو آزایه های مختلق ذخیره و تقسیم بندی کنید

Ali Ghaleyan ( 3785 تجربه )
1 ماه پیش

@Alimotreb
اینکه چطور به job بگم صد تارو باهم بفرسته
صد تا رو با هم بزاره تو صف

علی بیات ( 106432 تجربه )
1 ماه پیش
علی بیات ( 106432 تجربه )
1 ماه پیش

همچنین مقاله زیر هم این کارو انجام داده
https://scotch.io/tutorials/why-laravel-queues-are-awesome

Ali Ghaleyan ( 3785 تجربه )
1 ماه پیش

@Alimotreb
@ali.bayat
یعنی باید برای هر ایمیل یه فیلد تو دیتیابیس و جدول job بسازه؟؟؟

علی بیات ( 106432 تجربه )
1 ماه پیش

شما یه Mailable میسازید و یه جاب هم بوجود میارید. کار اون جاب اینه که ایمیل شما رو بر اساس تنظیماتش (شامل Queue یا خیر) ارسال کنه

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