我正在尝试使用c#发送电子邮件。一切似乎没有错误但是当程序试图发送邮件时我得到一个异常:“System.Exception - Exception未被处理”
这是代码:
public void sendMail()
{
SmtpClient client = new SmtpClient();
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Timeout = 100;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("mymailaddress@googlemail.com", "mypassword");
MailMessage mm = new MailMessage("mymailaddress@googlemail.com", "receiveremailaddress", "test", "test");
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
client.Send(mm); // HERE I GET THE EXCEPTION !!!!!
}
答案 0 :(得分:2)
问题是你的超时时间太短了尝试:
client.Timeout = 5000;
The default value is 100,000 (100 seconds),但smtp.gmail.com足够快,如果你想使用5000就应该没问题。
同样根据您对帖子的上述评论;处理你的异常(这是一个非常基本的方法)。
try
{
...
}
catch(Exception ex)
{
Console.Writeline(ex);
}