я не могу найти CLSID {0006F03A-0000-0000-C000-000000000046} или ms-outlook в DCOM

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

«Не удалось получить фабрику классов COM для компонента с CLSID {0006F03A-0000-0000-C000-000000000046} из-за следующей ошибки: 80070005. Описание: во время выполнения текущего веб-запроса возникло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде».

Насколько я понимаю, эта ошибка связана с отказом в доступе IIS к объекту Outlook, но я пытаюсь найти решение для этого в Google: решение состоит в том, чтобы разрешить доступ к учетной записи IIS-USR для Outlook, но я не знаю, как это сделать что Итак, я пытаюсь найти MS-OUTLOOK на dcom, чтобы добавить IIS-USRS, но я не могу его найти, не могли бы вы сказать мне точное имя внешнего вида на DCOM.

Мой код, как показано ниже

        Dim ol As New Outlook.Application()
        Dim ns As Outlook.NameSpace
        Try
            Dim fdMail As Outlook.MAPIFolder
            ns = ol.GetNamespace(MAPI)
            ns.Logon(, , True, True)


            'creating a new MailItem object
            Dim newMail As Outlook.MailItem
            'gets defaultfolder for my Outlook Outbox
            fdMail = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox)
            'assign values to the newMail MailItem
            newMail = fdMail.Items.Add(Outlook.OlItemType.olMailItem)
            newMail.Subject = RecordtypeDropDownList.Text +  Notification
            newMail.Body = You got  + RecordtypeDropDownList.Text +   for  + CategoryDropdownList.Text

            'newMail.To = EmaildropDownlistEM.Text ' we will pass the email from record missbonus point table in the final stage

            newMail.To = Mid(EmaildropDownlistEM.Text, (EmaildropDownlistEM.Text.IndexOf(, )) + 2, 10) + . + Left(EmaildropDownlistEM.Text, EmaildropDownlistEM.Text.IndexOf(, ))


            newMail.CC = xxxxxxxxx

            newMail.SaveSentMessageFolder = fdMail
            newMail.Send()
        Catch ex As Exception
            Throw ex
        End Try

person Ahmed kamal    schedule 27.11.2015    source источник
comment
На самом деле вам не следует использовать Outlook Automation для отправки электронной почты из среды ASP.Net, что не так с классами электронной почты фреймворков?   -  person Alex K.    schedule 27.11.2015
comment
спасибо за ваш ответ, так каково ваше предложение, если у меня есть учетная запись Outlook на том же сервере IIS, и я хочу, чтобы он отправлял электронные письма для приложения asp.net   -  person Ahmed kamal    schedule 27.11.2015
comment
Вам нужен Outlook по какой-то причине? stackoverflow .com/questions/18326738/   -  person Alex K.    schedule 27.11.2015
comment
да, 1- потому что было очень просто настроить его в VisualBasic 2-когда я попробовал Gmail, я обнаружил, что несколько раз он не работает, если интернет-провайдер закрывает порт Gmail, он не будет работать   -  person Ahmed kamal    schedule 27.11.2015
comment
Можете ли вы показать свой код, пожалуйста? Какие сборки или API вы используете?   -  person Eric Legault    schedule 27.11.2015
comment
спасибо за вашу помощь, мой код, как указано выше   -  person Ahmed kamal    schedule 27.11.2015
comment
import System.Net.Mail import System.Net import Outlook = Microsoft.Office.Interop.Outlook я думаю, вам это нужно   -  person Ahmed kamal    schedule 27.11.2015


Ответы (1)


Вы не можете использовать Outlook (или любое другое приложение Office) в службе (например, IIS). В случае Exchange вы можете использовать EWS. Во всех остальных случаях использование прямого SMTP, вероятно, является лучшим решением.

person Dmitry Streblechenko    schedule 28.11.2015
comment
Спасибо за ответ, подскажите как получить SMTP бесплатно - person Ahmed kamal; 28.11.2015
comment
Компонент, который обертывает SMTP? Или SMTP-сервер? - person Dmitry Streblechenko; 29.11.2015