Mithun P Ответов: 1

Откройте Outlook в C# с использованием взаимодействия объектов DCOM


Привет,

Вот требование, которое у меня есть. Нужно открыть outlook с телом, имеющим большие данные с html-тегами и css. Я попробовал использовать mailto в теге href, так как данные были слишком длинными, он не мог загрузить полные данные в outlook. Позже я продолжил использовать Microsoft.Interop outlook и смог успешно открыть outlook в dev. Но при развертывании в IIS я получил ниже ошибку.
"
Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)). 
"

Добавлены все разрешения в DCOM config Outlook. По-прежнему никакого решения. Может ли кто-нибудь помочь решить эту проблему или любое другое решение для достижения моего требования.

Что я уже пробовал:

Добавление настроек в DCOM config

F-ES Sitecore

Когда вы запускаете приложение, подобное Outlook, через свой код, код выполняется на сервере, а не на клиенте, код кажется работающим только в dev, потому что сервер и клиент-это одна и та же машина. При развертывании на реальном веб-сервере код пытается запустить приложение на сервере, но сервер не имеет доступа к интерактивному рабочему столу, поэтому он терпит неудачу. Даже если вы решите проблему безопасности, ваш код все равно не будет делать то, что вы намереваетесь, поскольку электронное письмо откроется на сервере, где никто не нажмет кнопку Отправить, оно не появится на клиенте.

В принципе, то, что вы пытаетесь сделать, невозможно.

1 Ответов

Рейтинг:
0

Dave Kreskowiak

Вы не можете использовать Outlook Interop в веб-приложении. Ни одно из офисных приложений не поддерживается в непользовательской среде, то есть в службах, таких как IIS.

Вам придется напрямую взаимодействовать с любым почтовым сервером, который использует ваш клиент, например Exchange. То, как вы это сделаете, полностью зависит от почтового сервера, который вы используете для отправки этих писем, и других требований, таких как необходимость того, чтобы веб-приложение отправляло электронное письмо от имени пользователя, использующего веб-сайт.