PDA

View Full Version : سوال: ارسال ایمیل



hadishb
شنبه 01 بهمن 1390, 22:11 عصر
با سلام.
یه سوال داشتم...چرا وقتی از طریق smtp ایمیل ارسال میکنم ،وقتی دستور سند invoke میشه سیستم حدود 3 ثانیه کلا می ایسته بعد ول میکنه و ایمیل سند میشه..آیا واقعا این مشکل رو نمیشه حل کرد؟:متفکر:

crazy_1892
شنبه 01 بهمن 1390, 22:18 عصر
مقاله::مرجع کامل ارسال ایمیل در دات نت 2 (http://barnamenevis.org/showthread.php?71785-%D9%85%D9%82%D8%A7%D9%84%D9%87-%D9%85%D8%B1%D8%AC%D8%B9-%DA%A9%D8%A7%D9%85%D9%84-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%A7%DB%8C%D9%85%DB%8C%D9%84-%D8%AF%D8%B1-%D8%AF%D8%A7%D8%AA-%D9%86%D8%AA-2)

hadishb
شنبه 01 بهمن 1390, 23:33 عصر
دوست گلم؛مقاله بسیار بسیار زیبا و تکمیلی بود...ولی سوال من هنوز هست....من مشکلی با ارسال ایمیل ندارم..منظورم رفع هنگ کردن سیستم هست
یعنی وقتی که میخواد ارسال کنه 4 ثانیه سیستم می ایسته مثله اینه میره کما:لبخند:
بعد حل میشه و پیغام ارسال انجام شد میده...یکی از بچه ها میگفت این مشکل رو میشه با thread اینا حل کرد؟درسته؟:متفکر:

mbza11
یک شنبه 02 بهمن 1390, 00:40 صبح
سلام.
دوست عزیز، این روش هم امتحان کن امیدوارم کارت راه بیفته.
بین دستورات مخصوصا قیل و بعد از "دستور سند invoke" از دستور Application.DoEvent() استفاده کن.
کار این دستور اینه که به سیستم میگه علاوه بر اجرای دستورات به کار عادی خودش هم ادامه بده.
هر کارش راه افتاد، تشکر یادش نره.:لبخند::لبخند::لبخند:

موفق باشید.

faravaghi
یک شنبه 02 بهمن 1390, 00:47 صبح
سلام،
میتونید همین رو با روشی که خودتون گفتید(thread , Backgroundworker) بنویسید.

hadishb
یک شنبه 02 بهمن 1390, 00:49 صبح
سلام.
دوست عزیز، این روش هم امتحان کن امیدوارم کارت راه بیفته.
بین دستورات مخصوصا قیل و بعد از "دستور سند invoke" از دستور Application.DoEvent() استفاده کن.
کار این دستور اینه که به سیستم میگه علاوه بر اجرای دستورات به کار عادی خودش هم ادامه بده.
هر کارش راه افتاد، تشکر یادش نره.:لبخند::لبخند::لبخند:

موفق باشید.

سلام داداشم چشم تشکر هم میکنیم:لبخند: ...داداش حل نشد آخه! من اینجوری کردم
Application.DoEvents();
MySMTPClient.Send(MyMessage);
Application.DoEvents();

hadishb
یک شنبه 02 بهمن 1390, 00:51 صبح
سلام،
میتونید همین رو با روشی که خودتون گفتید(thread , Backgroundworker) بنویسید.

سلام دوست عزیز،شما اطلاعاتی در این زمینه دارید؟ میشه یکم توضیح بدین بهم ...من دقیقا وفتی دستور
MySMTPClient.Send(MyMessage);

رو اجرا میکنم سیستم می ایسته...

hadishb
یک شنبه 02 بهمن 1390, 01:39 صبح
مشکل حل شد
به این صورت عمل کردم:
public void Send()
{
MySMTPClient.Send(MyMessage);

MessageBox.Show(" Message sent ... ",
"Sent", MessageBoxButtons.OK, MessageBoxIcon.Information);
}





private void button2_Click(object sender, EventArgs e)
{
Thread h = new Thread(Send);
h.Start();


}



از همه دوستان ممنونم....