В Outlook 2016: сбой MAPISendMail в приложении Windows и возвращение & quot; MAPI_E_FAILURE & quot; как код ошибки

Я пытаюсь отправить электронное письмо с помощью приложения c ++, где я сначала загрузил MAPI32.dll, а затем попытался получить доступ к MAPISendMail с необходимыми параметрами. Когда я попытался выполнить этот шаг, он выдал исключение «Нарушение прав доступа ..». Когда я нажимаю «Продолжить», он выдает «MAPI_E_FAILURE» в качестве кода ошибки. Но тот же кусок кода отлично работает для Windows 7 и Outlook 2013.

Я использую среду Windows 10 и Outlook 2016, и проблема существует в этой ОС с Outlook 2016.

Я взял эту ссылку в качестве ссылки:MAPISendMail_Expert

Я не мог проследить, в чем именно заключается проблема. Было бы очень замечательно, если бы кто-нибудь мог мне помочь.

1

Решение

Я выяснил причину проблемы, потому что запущенное мной приложение c ++ работает с admin privileges и прогноз, который работает в фоновом режиме запускается с non-admin привилегии.

Затем я запустил свой внешний вид в режиме администратора («Запуск от имени администратора»), отправил электронное письмо из моего приложения c ++ и сделал это успешно.

Вкратце, оба приложения должны быть запущены с одинаковыми привилегиями, то есть либо запускать оба приложения как non-admin или запустить их оба (приложение C ++ & перспективы) как administrator,

0

Другие решения

Я также столкнулся с этой проблемой, после тестирования я обнаружил, что вы должны установить

_T("SMTP:") + recipient.m_strAddress

https://msdn.microsoft.com/en-us/library/windows/desktop/dd296720(v=vs.85).aspx , обрати внимание на lpszAddress,
формат FAX:206-555-1212 а также SMTP:[email protected] Я решил эту проблему таким образом.

-1

По вопросам рекламы [email protected]