VB6 MAPI OUTLOOK
我有一个VB6应用程序,可以通过Outlook用MAPI发送电子邮件。十多年来,它一直运作良好 现在,在一台机器上,第一封电子邮件将发出,但此后,除非程序重新启动,否则不会发出任何电子邮件 outlook上是否有可能缓存第一个会话的设置?有没有办法在VB6中最终关闭Mapi会话,这样程序就不必重新启动VB6 MAPI OUTLOOK,outlook,vb6,mapi,Outlook,Vb6,Mapi,我有一个VB6应用程序,可以通过Outlook用MAPI发送电子邮件。十多年来,它一直运作良好 现在,在一台机器上,第一封电子邮件将发出,但此后,除非程序重新启动,否则不会发出任何电子邮件 outlook上是否有可能缓存第一个会话的设置?有没有办法在VB6中最终关闭Mapi会话,这样程序就不必重新启动 MAPISess.SignOn MAPIMess.SessionID = MAPISess.SessionID With MAPIMess
MAPISess.SignOn
MAPIMess.SessionID = MAPISess.SessionID
With MAPIMess
.Compose
.RecipDisplayName = cmbEmail.Text
.AddressResolveUI = True
For i = 0 To flxAttachments.Rows - 1
.AttachmentIndex = i
.AttachmentName = flxAttachments.TextMatrix(i, 0)
'"Invoice.htm"
.AttachmentPathName = flxAttachments.TextMatrix(i, 1)
'App.Path & "\Invoice.html"
.AttachmentType = 0
Next i
.ResolveName
.MsgSubject = txtSubject
.MsgNoteText = txtBody.Text
.Send
End With
Send_eMail = True
MAPISess.SignOff
Exit Function
ErrHandler:
MsgBox Err.Description
MAPISess.SignOff
Send_eMail = False
End Function
你有没有尝试过缩小这个范围?例如,为每封邮件创建一个新的MAPI会话,看看这是否有什么不同?我该怎么做?每次发送邮件时,都会有一个MAPIsess.SignOn,然后是一个MAPIsess.SignOff。这不起作用吗?从您发布的代码来看,它看起来像是在其他地方创建了一个MAPIsess对象,并且可能会被重用。我将尝试在这之前将DaveI放入:MAPIsess.newSession,但它第二次没有发送电子邮件。还有其他语法吗?可能设置MAPISession=true?