PDA

View Full Version : سوال: ارسال ایمیل در یک شرط خاص



اوبالیت به بو
یک شنبه 31 خرداد 1394, 10:02 صبح
درود بر شما

من در دیتابایس یک فیلد تاریخ دارم که تاریخ انقضا را مشخص می کند. مایل هستم اگر تاریخ انقضا با تاریخ امروز تفریق شد و حاصل کمتر از 10 (یعنی معادل 10 روز) شد یک ایمیل ارسال شود. برای اینکه این هوشمند سازی انجام بشه چه پیشنهاداتی ارائه می کنید؟

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

با تشکر

اوبالیت به بو
دوشنبه 01 تیر 1394, 16:42 عصر
به روز رسانی

malloc
دوشنبه 01 تیر 1394, 18:17 عصر
من هم درگیر یه کار مشابه هستم اما خیلی سریعتر از 10 روز این حرکتو قراره انجام بدم....
اما شما میتونی یه برنامه تحت ویندوز بنویسی که توش مشخص کنی هر 24 ساعت یبار بره کل دیتابیس رو بابت این ماجرا چک کنه و ایمیل رو ارسال کنه ....

اوبالیت به بو
دوشنبه 01 تیر 1394, 23:22 عصر
من هم درگیر یه کار مشابه هستم اما خیلی سریعتر از 10 روز این حرکتو قراره انجام بدم....
اما شما میتونی یه برنامه تحت ویندوز بنویسی که توش مشخص کنی هر 24 ساعت یبار بره کل دیتابیس رو بابت این ماجرا چک کنه و ایمیل رو ارسال کنه ....

باید در وب انجام بگیره.

malloc
دوشنبه 01 تیر 1394, 23:29 عصر
باید در وب انجام بگیره.

متوجه نشدم چی باید در وب کانفیگ قرار بگیره ؟؟؟

اوبالیت به بو
سه شنبه 02 تیر 1394, 12:12 عصر
متوجه نشدم چی باید در وب کانفیگ قرار بگیره ؟؟؟

نه دوست من. باید در وب قرار بگیره. در محیط وب انجام بگیره.

fakhravari
سه شنبه 02 تیر 1394, 21:02 عصر
این یک زمان بندی است که باید حتما هاست شما اشتراکی نباشه

salar IT man
چهارشنبه 03 تیر 1394, 02:47 صبح
درود بر شما

من در دیتابایس یک فیلد تاریخ دارم که تاریخ انقضا را مشخص می کند. مایل هستم اگر تاریخ انقضا با تاریخ امروز تفریق شد و حاصل کمتر از 10 (یعنی معادل 10 روز) شد یک ایمیل ارسال شود. برای اینکه این هوشمند سازی انجام بشه چه پیشنهاداتی ارائه می کنید؟

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

با تشکر


اوبالیت عزیز نیاز داری تا از کتابخانه های ثالث برای این کار استفاده کنید . مثلا Quartz.Net (http://www.dotnettips.info/post/997/%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D9%88%D8%B8%D8%A7%DB%8C%D9%81-%D8%B2%D9%85%D8%A7%D9%86-%D8%A8%D9%86%D8%AF%DB%8C-%D8%B4%D8%AF%D9%87-%D8%A8%D8%A7-quartz-net-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84)

به این صورت که یه job تعریف میکنی که هر روز ساعت 12 یا ... موارد مورد نظرت رو چک کنه و ایمیل هاتو بفرسته

mbasirati
چهارشنبه 03 تیر 1394, 19:03 عصر
من تقریبا همچین چیزی رو میخواستم. یعنی میخواستم هر چند ساعت یکبار یه کاری انجام بشه و اگر اون اتفاقی که من مد نظرم بود افتاد برام ایمیل بشه.
توی فایل Global.asax:

protected void Application_Start(object sender, EventArgs e)
{
StartTimer();
}




private static Timer a;








public static void StartTimer()
{
if (a == null)
{
a = new Timer(new TimerCallback(CheckData), HttpContext.Current, 0, 14400000);
}
}




private static void CheckData(object sender)
{


//some code


}









توی این روش بعد از اینکه سایتت رو آپلود کردی فقط کافیه یه بار یکی از صفحات سایت رو باز کنی. دیگه این تایمر خودش کارشو انجام میده.
به جای عدد 14400000، مقداری که خودت مد نظرت هست رو به میلی ثانیه وارد میکنی. توی کد بالا هر 4 ساعت یکبار تابع CheckData اجرا میشه.