PDA

View Full Version : مبتدی: چگونه بفهمیم ایمیل فرستاده شده؟



farhud
چهارشنبه 04 آبان 1390, 12:33 عصر
در سایت بنده باید به طور خودکار در یک نوبت در شبانه روز ایمیل به کاربران فرستاده بشه. همانطور که می دانید ممکن است هاست down باشه و این کار انجام نشه.

بهترین راه برای فهمیدن اینکه کار انجام شده (که در اینجا فرستادن ایمیل است) چیه؟

Saman Hashemi
چهارشنبه 04 آبان 1390, 13:22 عصر
یه Delivery Method داره که باید روی اون کار کنی...!
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

farhud
چهارشنبه 04 آبان 1390, 17:54 عصر
با اینکه در سایت های انگلیسی نیز جستجو کردم ولی به نتیجه قابل توجهی نرسیدم.

از متد بالا هم نتوانستم استفاده کنم.

اگر امکانش هست بیشتر توضیح دهید.

b.paseban
چهارشنبه 04 آبان 1390, 20:30 عصر
این (http://bytes.com/topic/asp-net/answers/320500-system-web-mail-delivery-receipt) تاپیک رو مطالعه کنید شاید کمکتون کنه

farhud
یک شنبه 08 آبان 1390, 11:16 صبح
سپاس از جوابت.

ولی؛ CDO چیه؟ من C# کار می کنم.

Mostafa_Dindar
یک شنبه 08 آبان 1390, 12:52 عصر
در سایت بنده باید به طور خودکار در یک نوبت در شبانه روز ایمیل به کاربران فرستاده بشه. همانطور که می دانید ممکن است هاست down باشه و این کار انجام نشه.

بهترین راه برای فهمیدن اینکه کار انجام شده (که در اینجا فرستادن ایمیل است) چیه؟

متد
mail.Send(msg);
رو داخل بلاک Try-Catch بزارید در صورتی که Exception ای Throw نکنه . ایمیل فرستاده شده . حال اینکه آدرس وجود نداشته باشه دیگه برسی نمیشه .

به عنوان مثال :
try
{
mail.Send(msg);
}
catch (SmtpFailedRecipientException ex)
{
// ایمیل فرستاده نشد.
}

در غیر اینصورت میتونید از :

System.Net.Mail.DeliveryNotificationOptions.OnSucc ess

استفاده کنید . برای اطلاعات بیشتر به این صفحه (http://msmvps.com/blogs/siva/archive/2008/03/14/sending-emails-with-delivery-receipt-notification.aspx)مراجعه فرمائید
موفق باشید

farhud
یک شنبه 08 آبان 1390, 19:03 عصر
متد
mail.Send(msg);
رو داخل بلاک Try-Catch بزارید در صورتی که Exception ای Throw نکنه . ایمیل فرستاده شده . حال اینکه آدرس وجود نداشته باشه دیگه برسی نمیشه .

به عنوان مثال :
try
{
mail.Send(msg);
}
catch (SmtpFailedRecipientException ex)
{
// ایمیل فرستاده نشد.
}

در غیر اینصورت میتونید از :

System.Net.Mail.DeliveryNotificationOptions.OnSucc ess

استفاده کنید . برای اطلاعات بیشتر به این صفحه (http://msmvps.com/blogs/siva/archive/2008/03/14/sending-emails-with-delivery-receipt-notification.aspx)مراجعه فرمائید
موفق باشید

بله، می شه تو بلاک try....catch فرستادن را بررسی کرد؛ ولی اینکه بفهمیم به دستش رسیده یا نه، پرسش منه.

در مورد
mm.Headers.Add ("Disposition-Notification-To", "email address");
هم باید بگم که در بعضی جا ها خواندم که همیشه جواب نمیده و بستگی به ارائه دهنده ایمیل داره. روی سرور من هم جواب نداد.