我有一个使用 Outlook Redemption 发送电子邮件的 32 位 VB6 应用程序。该程序在 Outlook 2016 之前运行良好,但我的一些客户在升级到 2019 或在其 Office 365 订阅上自动更新时,无法通过我的程序发送电子邮件。
我的代码的简化版本:
Private Sub cmdSendMessage_Click()
Dim objSession As RDOSession
Dim objOutbox As RDOFolder
Dim objMessage As RDOMail
Dim objRecipient As RDORecipient
Dim strBody As String
100 On Error GoTo ErrorHandler
101 Set objSession = New RDOSession
102 objSession.Logon , , False, False
103 Set objOutbox = objSession.GetDefaultFolder(olFolderOutbox)
104 Set objMessage = objOutbox.Items.Add
105 Set objRecipient = objMessage.Recipients.Add(txtAddressTo.Text)
106 objRecipient.Resolve
107 strBody = "This is a test message--sent using Outlook Redemption." & vbNewLine & vbNewLine & _
"Sent: " & Now & vbNewLine & _
"Sent from Computer: " & GetThisComputerName
109 With objMessage
110 .Subject = "Test Message - Outlook Redemption"
111 .Body = strBody
112 .Send
113 End With 'objMessage
114 objSession.Logoff
115 MsgBox "Message sent.", vbOKOnly + vbInformation
ExitRoutine:
201 Set objRecipient = Nothing
202 Set objMessage = Nothing
203 Set objOutbox = Nothing
204 Set objSession = Nothing
210 Exit Sub
ErrorHandler:
MsgBox "Error " & Err.Number & vbNewLine & vbNewLine & Err.Description & vbNewLine & vbNewLine & _
"Line " & Erl, vbOKOnly + vbCritical, "Error in Execution"
Resume ExitRoutine
End Sub
我在运行Outlook 2019 MSO (16.0.12527.20260) 32-bit和Windows 10、1909 (18363.535) 64-bit和32-bit Outlook Redemption 5.18的客户机器上尝试了使用上述代码的程序。当我单击按钮发送此电子邮件时,程序立即崩溃,没有错误消息。
Outlook Redemption 是否完全适用于 VB6 和较新版本的 Outlook?如果是这样,我需要在我的应用程序中进行哪些更改才能使其正常工作?
应用程序事件日志中出现两个错误:
Faulting application name: RedemptionMail.exe, version: 1.0.0.0, time stamp: 0x5b995b5e
Faulting module name: RPCRT4.dll, version: 10.0.18362.476, time stamp: 0x7acb686b
Exception code: 0xc0000005
Fault offset: 0x000461c6
Faulting process id: 0x1660
Faulting application start time: 0x01d60931c9abef20
Faulting application path: \\???\RedemptionMail.exe
Faulting module path: C:\WINDOWS\System32\RPCRT4.dll
Report Id: 916c7e74-a3dd-440c-8759-23806d654b9d
Faulting package full name:
Faulting package-relative application ID:
和
Fault bucket 1285058706613227027, type 1
Event Name: APPCRASH
Response: Not available
Cab Id: 0
Problem signature:
P1: RedemptionMail.exe
P2: 1.0.0.0
P3: 5b995b5e
P4: RPCRT4.dll
P5: 10.0.18362.476
P6: 7acb686b
P7: c0000005
P8: 000461c6
P9:
P10:
Attached files:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDE85.tmp.mdmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDEE4.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDEF4.tmp.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDF04.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDF24.tmp.txt
These files may be available here:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_RedemptionMail.e_684bbff35d28781a9319f7f96316e4566e7d38f_ae0321e2_6f232be0-f6dd-46d3-bdbf-4f81e08f6760
Analysis symbol:
Rechecking for solution: 0
Report Id: 916c7e74-a3dd-440c-8759-23806d654b9d
Report Status: 268435456
Hashed bucket: ca938f3d4eba0c8bd1d57215cb344e13
Cab Guid: 0