PDA

View Full Version : Lỗi "vshost32.exe has stopped working" khi khai báo SmtpClient



cuongmits
31-05-2011, 15:01
Mình gặp một lỗi rất lạ trong C# mà không hiểu tại sao, mong các bạn chỉ giúp:

Đây là code của mình



private void btn_sendemail_Click(object sender, EventArgs e)
{

MailAddress to = new MailAddress(cmb_sendemail.Text);
MailAddress from = new MailAddress("***@gmail.com");
MailMessage message = new MailMessage(from, to);
message.Subject = "Subject";
message.Body = @"Body";

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);

smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new System.Net.NetworkCredential("***@gmail.com", "***");
smtpClient.Timeout = 20000;
try
{
smtpClient.Send(message);
MessageBox.Show("Email đã được gửi thành công! Ấn OK để trở về chương trình chính.");
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{
this.Dispose();
}
}


Việc gửi email đi thì đã thành công, tuy nhiên sau khi đóng chương trình thì mình nhận được thông báo lỗi "vshost32.exe has stopped working". Thậm chí khi mình sửa lại code như sau (chỉ khai báo SmtpClient mà không sử dụng) thì vẫn bị lỗi đó, còn nếu không khai báo smtpClient thì không xuất hiện lỗi:



private void btn_sendemail_Click(object sender, EventArgs e)
{
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
try
{
MessageBox.Show("Email đã được gửi thành công! Ấn OK để trở về chương trình chính.");
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{
this.Dispose();
}
}


Mong các bạn chỉ bảo.