0

我在服务器上运行了一个 VB.net 应用程序,它将每天发送近 200 封电子邮件。以下是我的编码:

Dim objNewMail = CreateObject("CDO.Message")
                  objNewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
                    objNewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
                    objNewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
                    objNewMail.Configuration.Fields.Update()

                    objNewMail.From = mailFrom
                    objNewMail.To = mailTO
                    objNewMail.CC = mailCC
                    objNewMail.bcc = mailBCC

                    objNewMail.Subject = mailSubject
                    objNewMail.HTMLBody = content
                    objNewMail.Send()

                    objNewMail = Nothing

上面的代码在一个循环中运行。上面的代码运行良好,没有任何问题。但是每月一到两次,我收到以下错误消息并且应用程序停止。

System.Runtime.InteropServices.COMException (0x80040213):传输无法连接到服务器。

任何人都可以帮我解决这个问题,或者我也可以接受任何其他更好和更先进的方法。

4

1 回答 1

1

您可能希望将 .Send() 调用包装在 Try...Catch 中,如果失败,几秒钟后重试。

CDO 似乎已被弃用,取而代之的是 System.Net.Mail。在www.systemnetmail.com/上有一个包含全面常见问题解答的站点,尽管我会在事件日志中查找类似的偶发错误。

是否有其他与错误同时发生的情况,例如服务器刚刚重新启动?

于 2012-06-19T19:21:11.017 回答