繁体   English   中英

使用VB.Net通过Outlook发送电子邮件时出现COMException未处理的错误

[英]COMException unhandled error when sending an email through Outlook using VB.Net

我有以下代码向人们发送电子邮件,其详细信息是从数据库中检索的:

Dim oMsg As Outlook._MailItem
Dim objOL As Outlook.Application
objOL = New Outlook.Application()
oMsg = objOL.CreateItem(Outlook.OlItemType.olMailItem)

con = New OleDbConnection("provider=SQLOLEDB;data source=pc;initial catalog=DB1;integrated security=SSPI")
cmd = New OleDbCommand("select column1, column2, column3, column4 from table1 where <condition>", con)
con.Open()
r = cmd.ExecuteReader
While r.Read
    oMsg.Subject = "Subject"
    oMsg.Body = "Hello " & r.Item(0) & vbLf & vbCr & "How are " & r.Item(1) & " and" & r.Item(2) & vbLf & vbCr & " ? "
    oMsg.To = r.Item(3).ToString
    oMsg.Send()
End While
con.Close()
oMsg = Nothing
objOL = Nothing

问题是,在发送第一封电子邮件后,它给了我一个未处理的COMException错误,指出该项目已被移动或删除。 怎么了

我相信您每次都需要通过循环发送新的Outlook消息:

Dim oMsg As Outlook._MailItem 
Dim objOL As Outlook.Application 
objOL = New Outlook.Application() 

con = New OleDbConnection("provider=SQLOLEDB;data source=pc;initial catalog=DB1;integrated security=SSPI") 
cmd = New OleDbCommand("select column1, column2, column3, column4 from table1 where <condition>", con) 
con.Open() 
r = cmd.ExecuteReader 
While r.Read 
    oMsg = objOL.CreateItem(Outlook.OlItemType.olMailItem) 

    oMsg.Subject = "Subject" 
    oMsg.Body = "Hello " & r.Item(0) & vbLf & vbCr & "How are " & r.Item(1) & " and" & r.Item(2) & vbLf & vbCr & " ? " 
    oMsg.To = r.Item(3).ToString 
    oMsg.Send() 

    oMsg = Nothing 
End While 
con.Close() 
objOL = Nothing 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM