Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 如何在单独的线程中发送电子邮件?_Multithreading_Email_C# 4.0 - Fatal编程技术网

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服务器本身存在问题。