2012-06-19 67 views
0

我有一个VB.net应用程序运行在服务器上,将每天发送电子邮件接近200。以下是我的编码:传输失败连接到服务器 - CDO.Message - VB.NET

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):传输无法连接到服务器。

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

回答

1

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

CDO似乎已被弃用,以支持System.Net.Mail。虽然我会在事件日志中寻找类似的偶然性错误,但在www.systemnetmail.com/有一个全面的常见问题解答站点。

是否还有其他重合错误,例如服务器刚刚重新启动?