Мы пытались использовать 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-битный офис и 32-битные приложения), которые имеют проблемы, приводящие к этой ошибке. Я проверил ключ реестра Bitness, и он установлен на "x86", восстановил офис, проверил файлы MSMAPI32.DLL и MAPI32.DLL, которые упоминаются в некоторых статьях, но безуспешно, и, конечно же, Outlook уже установлен в качестве почтового клиента по умолчанию.
Мы используем
- Outlook 2016 (32 бит) / SAS Desktop 64 бит
- Обмен 2013
- MAPI outlook в любом месте (также известный как RPC через HTTP)
- Outlook — почтовый клиент по умолчанию
У кого-нибудь еще была такая проблема и кто-нибудь знает, как ее решить?
решение1
Нашим решением была установка 32-битной версии SAS Desktop, и она сразу заработала. Это также было решение, рекомендованное службой поддержки SAS.
Изначально мы хотели, чтобы 64-разрядная версия работала с 32-разрядной версией Outlook, поскольку 64-разрядная версия SAS может использовать больше памяти и имеет преимущества в производительности по сравнению с 32-разрядной версией.
Установите 32- и 64-битные версии на одном ПК, и они могут сосуществовать. Если требуются функции с большим объемом памяти, их можно выполнить в 64-битной версии, а 32-битную версию использовать для массовой рассылки почты и т. д.