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

- 4 ماه پیش
توسط علی بیات آپدیت شد
Ali Ghaleyan ( 10575 تجربه )
4 ماه پیش
تخصص : برنامه نویس لاراول

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

Alimotreb ( 153582 تجربه )
4 ماه پیش
تخصص : کانفیگ سرور و برنامه نویس

سلام
@Serjik

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

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

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

Ali Ghaleyan ( 10575 تجربه )
4 ماه پیش
تخصص : برنامه نویس لاراول

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

Alimotreb ( 153582 تجربه )
4 ماه پیش
تخصص : کانفیگ سرور و برنامه نویس

سلام
@Serjik

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

Ali Ghaleyan ( 10575 تجربه )
4 ماه پیش
تخصص : برنامه نویس لاراول

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

Alimotreb ( 153582 تجربه )
4 ماه پیش
تخصص : کانفیگ سرور و برنامه نویس

سلام
@Serjik

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

Ali Ghaleyan ( 10575 تجربه )
4 ماه پیش
تخصص : برنامه نویس لاراول

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

Alimotreb ( 153582 تجربه )
4 ماه پیش
تخصص : کانفیگ سرور و برنامه نویس

سلام
@Serjik

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

Ali Ghaleyan ( 10575 تجربه )
4 ماه پیش
تخصص : برنامه نویس لاراول

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

علی بیات ( 174837 تجربه )
4 ماه پیش
تخصص : توسعه دهنده ارشد وب
علی بیات ( 174837 تجربه )
4 ماه پیش
تخصص : توسعه دهنده ارشد وب

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

Ali Ghaleyan ( 10575 تجربه )
4 ماه پیش
تخصص : برنامه نویس لاراول

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

علی بیات ( 174837 تجربه )
4 ماه پیش
تخصص : توسعه دهنده ارشد وب

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

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