کلاس های mail را می خواستم

iranmahfel

Member
تشکر فراوان از هر دو دوست
والا من هدفم اینه که بتونم باهاش عین انجمن ها به ایمیل هایی که توی دیتابیسم ذخیره کردم میل بزنم از حلقه استفاده کردم ولی خوب برای تست با 1000 ایمیل شروع کردم خیلی طول میکشه از یکی شنیدم که انجمن های phpbb از کلاس های mail استفاده می کنه
به نظر شما چه جوریه با حلقه for(); کاری میشه کرد اگر من ایمیل هام بشه تا که دیگه اصلا نمیشه کاری کرد
مرسی راهنمایی کنید ممنون میشم
 
آخرین ویرایش:

oxygenws

Active Member
به هیچ عنوان از حلقه for استفاده نکن (طوری که همهء ایمیل ها رو در یک لحظه بفرستی)
مثلا هر 15 دقیقه، 10 تا ایمیل بفرست و تا 15 دقیقه بعد هیچ ایمیلی نفرست. (این فقط یک مثال بود!)
 

BeHnAm_akb

Active Member
با یه همچین مثالی برای ارسال ایمیل به کاربران یه سایت که حداقل 5 یا 6 هزار تا هستند باید کلی زمان گذاشت و تو این مدت باید فایل باز بمونه. درسته؟
 

oxygenws

Active Member
نه اینکه فایل باز بمونه!!! فایل بسته بشه و با cron بیدار بشه و ...
شما می تونی به جای 15 دقیقه، 10 دقیقه وقت بذاری، دیگه چونه نزن که کمترش نمی کنم!!
 

sama_sally

Member
راستش pear یه کمی با هدر ها مشکل داره
ولی یه class هست که به همین پارس محفل هم دادم که خیلی خوب کار میکنه
خوبیش اینه که هدر ها رو خودش ست میکنه و میل ها رو مستقیم با inbox میفرسته نه bulk

در ضمن
من هیچ جا ندیدم 1000 تا میل تو یه ثانیه فرستاده بشه.
 

BeHnAm_akb

Active Member
oxygenws گفت:
نه اینکه فایل باز بمونه!!! فایل بسته بشه و با cron بیدار بشه و ...
شما می تونی به جای 15 دقیقه، 10 دقیقه وقت بذاری، دیگه چونه نزن که کمترش نمی کنم!!


حالا نمی شه با ما را بیای ما مشتری هستیما ;)

میشه یه کم بیشتر در مورد cron توضیح بدی که تو PHP چه طور انجام میشه
مرسی
 

sama_sally

Member
BeHnAm_akb گفت:
حالا نمی شه با ما را بیای ما مشتری هستیما ;)

میشه یه کم بیشتر در مورد cron توضیح بدی که تو PHP چه طور انجام میشه
مرسی
کرون جاب زیاد ربطی به php نداره
کرون جاب یه عمل رویه سرور ه که میتونه در مدت زمانهای مشخص یه فرمانی اجرا کنه و ما میتونیم اینو از طریق php تنظیم کنیم که مثلا هر نیم ساعت یه بار این کد رو اجرا کن.
 

iranmahfel

Member
سلام دوستان
سالار جان اینکه میگی نمیشه توی 1ثانیه 1000 تا میل زد فقط 1 مثال بود ولی خدا شاهده من توی انجمنم که تقریبا 1000 تا عضو داره www.parsmahfel.com/forum/? ایمیل به اعضاء رو توی کمتر از 5 ثانیه می فرسته

امید جان من هم این که گفتی رو شنیده بودم چون این انجمن من وقتی میل ها رو می فرسته همش توی bulk میره انگار و اعضا نمی تونند ببینند ولی یکی همین پیشنهاد شما رو بهم داد که یه جوری بنویسم که هر 10 دقیقه مثلا به 1000 نفر میل بشه که توی ایندکس بره ایمیل ها

راستی میگی از for(); استفاده نکنم پیشنهادت چیه امید جان؟
من روی این قضیه که میل ها بره به ایندکس یاهو خیلی کار کردم ولی خوب یه جاهایی اطلاعات کم بوده نتونستم پیش برم
اگه یه نمونه سورس یا راهنمایی مستقیم کنید ممنون میشم

سالار جان اسکریپت شما رو هم دیدم منتها من با این قضیه مشکل اساسی دارم که هر جوری میل رو بفرستم به بیش از 1000 نفر در حداقل زمان بفرسته
مرسی ممنون دوستان
 

oxygenws

Active Member
رو توی کمتر از 5 ثانیه می فرسته
اون بدبخت ایمیل ها رو که نمی فرسته.... جناب سیستم عاملتون اون ایمیل ها رو می ذاره تو صف تا به مرور زمان ارسال بشه.

چون این انجمن من وقتی میل ها رو می فرسته همش توی bulk میره انگار و اعضا نمی تونند ببینند ولی یکی همین پیشنهاد شما رو بهم داد که یه جوری بنویسم که هر 10 دقیقه مثلا به 1000 نفر میل بشه که توی ایندکس بره ایمیل ها
من به این خاطر نگفتم که نره توی بالک..... اگر به این کارت ادامه بدی، احتمالا به زودی در هاستت رو می بندند، و مدیر سرور شما رو از سرور اخراج می کنه :)

راستی میگی از for(); استفاده نکنم پیشنهادت چیه امید جان؟
به هر حال باید از for استفاده بکنی :) ولی نه اینکه یه حلقه 1000 تایی بسازی و سرور رو بدبخت کنی!!
یه حلقه 10 تایی که هر 15 دقیقه اجرا میشه و ایمیل ها رو از بانک می خونه و یه مقدار می نویسه که "فلان محتویات ایمیل" رو تا "فلان اندیس آدرس ایمیل" ارسال کرده.

هر جوری میل رو بفرستم به بیش از 1000 نفر در حداقل زمان بفرسته
همین الان هم این حداقل زمان رو سیستم عاملت مشخص می کنه، نه شما و نه زبان برنامه نویسی php ات. و اگر مدیر سرورت ایمیل های کلان (و گاهی اوقات بی هدف) شما رو دریابه، ممکنه پاکشون کنه (که هیچ وقت به دست گیرنده نمی رسه) یا بهتون اخطار بده یا اینکه از سرور اخراجتون کنه یا ...!!!
 

iranmahfel

Member
بین امید جان راه کار شما چیه
خوب از این cron jab برام توضیح بده و چی کاره هستش؟
در ضمن من از همین حلقه for(); استفاده کردم و 50 تا ایمیل رو تست کردم و ایمیل خودم رو هم آخرین ایمیل دادم که مطمئن بشم که ایمیل ها به دست همه میرسه یانه خوشبختانه ایمیل برام اومد
خوب اگه بخوام که cron jab هر 15 دقیقه به 10 نفر میل رو بفرسته چه جوری بهش بگه که مثلا 15 دقیقه اول از ایمیل 1 تا 10 رو بخون و بفرست و 15 دقیقه بعد از ایمیل 10 تا 20 رو بخون بفرست و همین طور الی آخر ....

بعد این cron jab میشه بهش یک سرس ک داد که توش php & mysql باشه
چه جوریه؟
مرسی امید جان
 

oxygenws

Active Member
کرون یک ابزار برای سیستم عاملتون می باشد (سیستم عامل های لینوکسی) که در زمان های مشخص (که شما براش مشخص می کنین) یه عمل رو انجام میده، حالا اون عمل می تونه اجرای یک فایل Php به صورت Cli باشه (در مورد Cli توی راهنمای Php بگرد)

شما فرض کن از اولین نفر تا شماره 10 رو ارسال کردی، وقتی هر 10 تا ایمیل درست ارسال شد، عدد 10 رو می ریزی تو بانک.... دفعه بعد، عدد ذخیره شده در بانک رو می خونی و می بینی نوشته "10" از کاربر 11 شروع می کنی و 10 تا میری جلو و توی بانک می نویسی 20 و دفعه بعد .... (آقا، این "10" کاملا مثاله هااااا، تو می تونی به جای 10 بذاری 50!!!)

توی کرون هم بگی که این برنامه ات رو هر 10 یا 15 دقیقه یک بار اجرا کنه.

موفق باشید.
 

iranmahfel

Member
مرسی ایمید جان همه رو فهمیدم الا اونکه گفتی

یه عمل رو انجام میده، حالا اون عمل می تونه اجرای یک فایل Php به صورت Cli باشه (در مورد Cli توی راهنمای Php بگرد)

میتونم مستقسم آدرس فایلم رو بدم یعنی توی cron jobs آنجا که زده comand بزنم مثلا
http://www.parsmahfel.com/news/send.php
این طوریه عزیز>
 

sama_sally

Member
ای بابا آخه این سواله؟!
www.php.net
برو قسمت Documentation و Download رو بزن و HTML CHM EXTENDED رو انتخاب کن که خیلی کامله

هرچند راهنماش تو خود سایتشم بصورت Online هست
 

جدیدترین ارسال ها

بالا