Могу я попросить некоторую поддержку по этой проблеме.
У нашего клиента есть сервер Exchange 2019 (работает на Windows Server 2019) Они хотят запускать некоторый код VBA, когда электронное письмо поступает в определенный почтовый ящик - 24 часа в сутки - однако -
У них нет сервера, на котором можно было бы запускать Outlook для запуска VBA (сервер доступен 24 часа в сутки). день) и их клиентские ПК могут отключаться
Есть ли способ контролировать почтовый ящик и запускать запуск кода VBA при получении электронного письма?
Любая помощь и руководство будут очень благодарны.
Спасибо
Энди
Я не уверен, какие инструменты доступны вам; однако, основываясь на моем прошлом опыте, я бы порекомендовал использовать Управляемый API EWS . Если вы знакомы с PowerShell, то позаимствовал немного логики из EWS Powershell Module (написанного BartekB . Мне пришлось в основном переписывать и расширять модуль EWS из GitHub для ваших целей там должно быть достаточно (если вы достаточно знакомы с PowerShell), чтобы создать сценарий, который подключается к почтовому ящику и ищет сообщения, соответствующие шаблону, а затем запускает код при получении определенного сообщения.
Один раз в место, вызовите сценарий из запланированной задачи, запущенной на компьютере с установленным управляемым API EWS (может быть сервером). Скорее всего, вам потребуется запустить сценарий под учетной записью владельца почтового ящика, или вам нужно будет настроить ApplicationImpersonation для почтовый ящик, о котором идет речь, в учетную запись, в которой запущен сценарий. Учетная запись, которая запускает сценарий, должна иметь почтовый ящик или быть пользователем почты.