Ali Ghaleyan
5 سال پیش توسط Ali Ghaleyan مطرح شد
12 پاسخ

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

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


ثبت پرسش جدید
Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@Serjik

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

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

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


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@Serjik

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


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@Serjik

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


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@Serjik

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


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

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


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

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


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام