#asp.net #.net
#asp.net #.net
Вопрос:
Я хочу отправлять почту через приложение, разработанное на asp .net .. используя System.web.mail, я написал код, который работает в одном месте. Но когда я пытаюсь сделать то же самое в своей компании, появляется ошибка, что «система не имеет прав на отправку почты на сервер»
Я использовал объект cdo.
Mailmsg.Fields.Add(«http://schemas.microsoft.com/cdo/configuration/smtpauthenticate «, «1»); // базовая аутентификация
Пожалуйста, помогите мне решить .. это
Ответ №1:
Наиболее вероятной причиной этой проблемы является идентификатор пользователя, который используется для ASP.Пул сетевых приложений, который почти наверняка будет пользователем, специфичным для компьютера, на котором запущен IIS (например, LocalService, LocalSystem, NetworkService или ApplicationPoolIdentity), неизвестен серверу Exchange, который, вероятно, работает на другом компьютере.
Существуют различные способы решения этой проблемы в зависимости от того, насколько вы контролируете каждый сервер.
1) Вы можете создать новый пул приложений, используя пользователя домена с полномочиями отправлять электронную почту Exchange в качестве удостоверения, а затем переместить свой ASP.Сетевое приложение к этому пулу.
2) Вы можете добавить / настроить службу SMTP на компьютере IIS для ретрансляции сообщений на сервер Exchange, а затем просто сохранить сгенерированные электронные письма в локальном каталоге отправки. Это мой предпочтительный вариант, чтобы IIS не зависал, пытаясь разрешить адреса, и чтобы гарантировать, что почта будет доставлена в какой-то момент в будущем, если Exchange server по какой-либо причине не работает (техническое обслуживание, сбой сети и т. Д.).