Я использовал пакет RDCOMClient, как описано здесь Отправка электронной почты в R через outlook .Все работало нормально с Outlook 2010 и Windows 7. Сценарий не работает, так как я изменил систему на Windows 10 с Outlook 2016.
Вот сценарий:
library(RDCOMClient)
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "test@test.com"
outMail[["subject"]] = "test"
outMail[["body"]] = "Test."
outMail$Send()
В последней строке происходит сбой с ошибкой следующим образом:
80004004 Нет поддержки InterfaceSupportsErrorInfo checkErrorInfo -2147467260 Ошибка: операция прервана
Рекомендуемый способ - открыть окно сообщения и смоделировать нажатие клавиш Ctrl + Enter:
library(KeyboardSimulator)
library(RDCOMClient)
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "test@test.com"
outMail[["subject"]] = "test"
outMail[["body"]] = "Test."
outMail$Display()
Sys.sleep(3)
keybd.press('Ctrl+Enter')
Но этот метод не на 100% надежен.
У вас есть идеи, как заставить outMail $ Send () работать снова?
Спасибо!