SAS 桌面(64 位)使用 32 位 Outlook 发送电子邮件时出现 MAPI 错误

SAS 桌面(64 位)使用 32 位 Outlook 发送电子邮件时出现 MAPI 错误

我们一直尝试使用 MAPI 从 SAS Desktop 发送,发送时收到来自 Outlook 的错误消息

示例代码

options emailsys=mapi
filename mailbox email;
data _null;
File Mailbox to = '[email protected]' from = '[email protected]' subject = 'test';
put "Hi"
run;

当我运行这个时我收到错误

“Either there is no default mail client or the current mail client cannot fulfill the messaging request. Please run Microsoft Outlook and set it as the default mail client.”

我发现的大多数文章都提到了与此问题相反的问题(64 位 Office 和 32 位应用程序),这些问题会导致出现此错误。我检查了 Bitness 注册表项,并将其设置为“x86”,修复了 Office,检查了某些文章中引用的 MSMAPI32.DLL 和 MAPI32.DLL 文件,但都没有成功,当然 Outlook 已被设置为默认邮件客户端。

我们正在使用

  • Outlook 2016(32 位)/SAS Desktop 64 位
  • Exchange 2013
  • 任何地方的 MAPI 展望(又名 RPC over HTTP)
  • Outlook 是默认邮件客户端

还有其他人遇到过这个问题并知道如何解决吗?

答案1

我们的解决方案是安装 32 位版本的 SAS Desktop,它立即生效。这也是 SAS 支持推荐的解决方案。

我们最初确实希望让 64 位版本与 32 位 Outlook 协同工作,因为 64 位版本的 SAS 可以使用更多内存,并且比 32 位版本具有性能优势。

在同一台电脑上安装了 32 位和 64 位版本,它们可以共存。如果需要高内存功能,可以在 64 位版本中实现,在 32 位版本中用于发送批量邮件等

相关内容