Multithreading 如何在单独的线程中发送电子邮件?
我在我的网站上发送电子邮件很好,但电子邮件部分很慢, 所以我决定尝试把它放到一个新的线程中, 然后想出了这个Multithreading 如何在单独的线程中发送电子邮件?,multithreading,email,c#-4.0,Multithreading,Email,C# 4.0,我在我的网站上发送电子邮件很好,但电子邮件部分很慢, 所以我决定尝试把它放到一个新的线程中, 然后想出了这个 public bool sendmail() { Thread T1 = new Thread(delegate() { MailMessage eMail = new MailMessage(); SmtpClient smtpClient = new SmtpClient(Configu
public bool sendmail()
{
Thread T1 = new Thread(delegate()
{
MailMessage eMail = new MailMessage();
SmtpClient smtpClient = new SmtpClient(ConfigurationManager.AppSettings["SMTPServer"]);
string EmailFromGCBS = (ConfigurationManager.AppSettings["EmailFROM"]);
eMail.From = new MailAddress(EmailFromGCBS);
eMail.To.Add(new MailAddress(emailTo));
eMail.Subject = emailSubject;
eMail.IsBodyHtml = isHtml;
eMail.Body = emailBody;
smtpClient.Send(eMail);
});
T1.Start();
return true;
}
线程运行,但没有发送任何电子邮件。不知道为什么会这样?线程会以任何方式失败吗?它是否正在抛出一个未被主线程捕获的异常?你能调试这个并确认
smtpClient.Send()
没有错误地完成吗?我想这与smtp
的异常有关。在线程块中放置一个try-catch。谢谢,我添加了try-catch,这给了我一个一般性的无法连接到服务器错误。。SMTP服务器本身存在问题。