Windows 更新 MAPI_E_NO_RECIPIENTS 后兑换发送失败
Redemption sending fails after Windows Update with MAPI_E_NO_RECIPIENTS
- 赎回:5.10.0.4312
- Delphi 2007/32
- MS Office 365 / Outlook 2016 v1710
昨天 ("Feature update to Windows 10, version 1709") 下载的 Windows 更新破坏了用于发送邮件的兑换代码。简化代码为:
OutlookApp := GetActiveOleObject(Outlook_Application_Class);
OLNameSpace := OutlookApp.GetNameSpace(MAPI_NAMESPACE);
OLNameSpace.Logon;
myOutlookItem := OutlookApp.CreateItem(olMailItem);
myItem := CreateOLEObject(Redemption_SafeMailItem_Class);
myItem.Item := myOutlookItem;
myRecipient := myItem.Recipients.Add(toRecipient); // <---- 'test@testing.com'
myRecipient.Type := olTo;
myItem.Recipients.ResolveAll; // <----------- myItem.Recipient count = 0
myItem.Subject := AMessage_Subject;
myItem.Body := AMessage_Body;
myItem.Send; // <--- ERROR: Error in IMessage.SubmitMessage: MAPI_E_NO_RECIPIENTS
如果我不使用 Redemption,它会正常工作。
如果我将 myItem.Recipients.Add 更改为 myOutlookItem.Recipients.Add,我会得到 MAPI_E_AMBIGUOUS_RECIP
也试过:
- 正在重启Windows
- 重新注册赎回 DLL
- 使用myItem.Recipients.AddEx
- 正在试用最新的 Redemption 版本 5.15.0.4892
对下一步尝试有什么建议吗?
谢谢
Windows 更新已知会清除一些负责 MAPI 编组的注册表项。您可以尝试从 https://groups.yahoo.com/neo/groups/Outlook-Redemption/conversations/topics/9600 安装注册表修复程序或尝试重新安装 Outlook。
- 赎回:5.10.0.4312
- Delphi 2007/32
- MS Office 365 / Outlook 2016 v1710
昨天 ("Feature update to Windows 10, version 1709") 下载的 Windows 更新破坏了用于发送邮件的兑换代码。简化代码为:
OutlookApp := GetActiveOleObject(Outlook_Application_Class);
OLNameSpace := OutlookApp.GetNameSpace(MAPI_NAMESPACE);
OLNameSpace.Logon;
myOutlookItem := OutlookApp.CreateItem(olMailItem);
myItem := CreateOLEObject(Redemption_SafeMailItem_Class);
myItem.Item := myOutlookItem;
myRecipient := myItem.Recipients.Add(toRecipient); // <---- 'test@testing.com'
myRecipient.Type := olTo;
myItem.Recipients.ResolveAll; // <----------- myItem.Recipient count = 0
myItem.Subject := AMessage_Subject;
myItem.Body := AMessage_Body;
myItem.Send; // <--- ERROR: Error in IMessage.SubmitMessage: MAPI_E_NO_RECIPIENTS
如果我不使用 Redemption,它会正常工作。
如果我将 myItem.Recipients.Add 更改为 myOutlookItem.Recipients.Add,我会得到 MAPI_E_AMBIGUOUS_RECIP
也试过:
- 正在重启Windows
- 重新注册赎回 DLL
- 使用myItem.Recipients.AddEx
- 正在试用最新的 Redemption 版本 5.15.0.4892
对下一步尝试有什么建议吗?
谢谢
Windows 更新已知会清除一些负责 MAPI 编组的注册表项。您可以尝试从 https://groups.yahoo.com/neo/groups/Outlook-Redemption/conversations/topics/9600 安装注册表修复程序或尝试重新安装 Outlook。