PDA

View Full Version : یک نکته در برنامه ارسال ایمیل تبلیغاتی



mohammad-gh
چهارشنبه 29 آبان 1392, 14:25 عصر
با سلام
قصد نوشتن برنامه ای برای ارسال ایمیل تبلیغاتی را دارم که خود برنامه بتواند ایمیل ها را در یک فرجه زمانی مشخص و با وقفه مشخص ارسال کند
فرض کنید می خواهیم 12000 ایمیل ارسال کنیم ، اما همانطور که می دانید این تعداد ارسال در یک نوبت منجر به مشکلات زیادی خواهد شد
بنابراین می خواهم برنامه تعداد 12000 عدد را با وقفه مثلا 30 ثانیه ای برای ارسال هر ایمیل ، ارسال کند
بدیهی اطلاعات از دیتابیس و با یک حلقه خوانده می شوند و برنامه باید بعد از هر ارسال 30 ثانیه صبر کند و بعد دوباره ارسال انجام شود
دو مورد :
این روش برای جلوگیری از اسپم و هنگ و ... مفید است
برای وقفه چه دستوری باید بنویسم

amkherad
چهارشنبه 29 آبان 1392, 14:31 عصر
با چه زبانی؟؟

mohammad-gh
چهارشنبه 29 آبان 1392, 20:08 عصر
!!!!!!
یه لحظه شک کردم تو تالار php زدم
به هر حال زبان شیرین PHP

mohammad-gh
پنج شنبه 30 آبان 1392, 06:13 صبح
لطفا راهنمایی کنید در این زمان وقفه سی پیو سرور درگیر است یا نه
و اگر نه چه دستوری باید بنویسم که درگیر نباشد
برای ارسال ایمیل لازمش دارم

SilverLearn
پنج شنبه 30 آبان 1392, 11:32 صبح
دوست عزیز در مورد Cron Jobs تحقیق کنید ...

mohammad-gh
پنج شنبه 30 آبان 1392, 15:16 عصر
دوست عزیز ممنون از راهنمایی شما ولی در یک جمله

اگر نمیخوایید اجرای اسکریپت به مرورگر وابسته باشه باید از cron jobs استفاده کنید.

ومن مشکلم این نیست!!!!

SilverLearn
پنج شنبه 30 آبان 1392, 15:19 عصر
ببینید مثلا توی کرون جابز می تونید کاری کنید که به طور مثال هر 30 ثانیه یک بار اسکریپت اجرا بشه
و این دقیقا همون چیزی هست که شما می خواین دیگه

smksmk
جمعه 01 آذر 1392, 13:47 عصر
معمولاً برای ارسال خبرنامه میشه از cron jobs استفاده کرد .
ولی اگه منظورتون اینه که توی حلقه که مثلاً 500 تا ایمیل رو میخاد بفرسته باید از چی استفاده کرد که به سرور فشار نیاره و ip سرور به عنوان اسپمر شناخته نشه و مشکلات بعدی ... داخل حلقه میتونید از usleep استفاده کنید که باعث تاخیر در اجرای حلقه میشه . البته بستگی به ساختار اسکریپتی که نوشتین هم داره . usleep بر اساس میکرو ثانیه کار میکنه .
مثلاً :
usleep(3000000); برای سه ثانیه تاخیر .

mohammad-gh
جمعه 01 آذر 1392, 14:55 عصر
ابن usleep(3000000); در همون مثلا 3 ثانیه سی پیو رو آزاد میکنه یا اینکه فرقی نمی کنه و فقط چند ثانیه وقفه ایجاد میکنه
چون این برای یک اسکریپت ارسال ایمیل مهم است
در مورد
ip سرور به عنوان اسپمر شناخته نشه چی کار میشه کرد یا همین کافیه

smksmk
جمعه 01 آذر 1392, 15:04 عصر
در همون مثلا 3 ثانیه سی پیو رو آزاد میکنه ؟ بله آزاد میکنه.
و اینکه چیکار کنیم ip سرور اسپم شناخته نشه به این بستگی داره که بقیه کاربرای روی سرور چقدر ایمیل میفرستن و بهترین کار همون استفاده از cron jobs هست که به طور متوالی ایمیل بفرسته . معمولاً تمام هاستینگ ها تعداد ایمیل ارسالی در ساعت رو مشخص میکنند که اگه بیشتر بفرستین حسابتون رو مسدود میکنن تا برین هاست ایمیلی بخرین !

SilverLearn
جمعه 01 آذر 1392, 15:19 عصر
معمولا برای ارسال ایمیل از smtp چند سرور بهره می برند تا مشکلی پیش نیاد . مثلا بعد از ارسال 50 ایمیل از سرور اول به سرور دوم کانکت شده و از اون اقدام به ارسال می کنند ...

mohammad-gh
دوشنبه 04 آذر 1392, 00:19 صبح
میشه یه مثال cron jobs برای این مورد بزنید
کلا برای اینکه اسپم نشه چه کارهایی میشه کرد

معمولا برای ارسال ایمیل از smtp چند سرور بهره می برند تا مشکلی پیش نیاد
منظورتون رو دقیق نمی دنم از چند سرور ؟

SilverLearn
دوشنبه 04 آذر 1392, 01:50 صبح
مثلا من خودم یه زمانی برای ارسال ایمیل انبوه از این روش استفاده می کردم :

چند اکانت جیمیل رو ساخته بودم و عملیات ارسال رو به صورت رندمی و در بازه های زمانی مشخص از هر اکانت ارسال می کردم ...

mohammad-gh
دوشنبه 04 آذر 1392, 09:08 صبح
با سلام
خوب تا اینجاش رو که متوجه هستم
حالا جناب SilverLearn (http://barnamenevis.org/member.php?48668-SilverLearn) بفرمایید چطور با برنامه نویسی این رو انجام بدیم
چون ما که نمی تونیم یکی یکی بشینیم و این کار رو دستی کنیم
چطور به برنامه سرور ارسال ایمیل رو همینهایی که گفتیتد حالی کنیم!!!

mohammad-gh
دوشنبه 04 آذر 1392, 14:05 عصر
من بعداز تحقیقی یک روزه متوجه شدم برای اسپم نشدن یا حداقل دیر اسپم می شود چند کار کرد

در زیر ایمیل مورد گزینه ای برای اینکه کاربر بتونه عدم تمایلش رو برای دریافت ایمیل تبلیغاتی اعلام کنه گذاشته شود
ارسال ایمیل از سرور ایمیل شخصی باشه مثل جی میل و ... که البته محدودیت ارسال دارند