我在服务器上运行了一个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):传输无法连接到服务器。
任何人都可以帮我解决这个问题,或者我也可以采取任何其他更好和更先进的方法。
答案 0 :(得分:1)
您可能希望将.Send()调用包装在Try ... Catch中,如果失败则在几秒钟后重试。
CDO似乎已被弃用,转而支持System.Net.Mail。有一个网站在www.systemnetmail.com/有一个全面的常见问题解答,虽然我会在事件日志中查找类似的偶然错误。
是否还有其他错误,例如服务器刚刚重新启动?