2009-10-23 3 views
1

У меня есть приложение ASP.NET, которое отлично работает на моем компьютере с Windows XP, но не работает при развертывании в Windows 2008 с IIS7. Приложение использует SmtpDeliveryMethod.PickupDirectoryFromIis и дает ошибку, когда я пытаюсь отправить электронное письмо из приложения на IIS7 (исключение SmtpException с сообщением «не может получить каталог iis pickup»). Я использую те же настройки как на машине dev, так и на сервере.Проблема с SMTP в IIS7

Любая помощь будет очень ценна ...

ответ

4

Оказалось, что проблема разрешения, но не с каталогом пикап, на самом деле с метабазой (настройки SMTP по-прежнему сохраняются в метабазе в IIS7)

Я наткнулся на эту ветку форума, Cannot get IIS pickup directory. NEED HELP на IIS .net, затем последовали за тем, что упоминалось в сообщениях, загрузили и установили инструмент метабазы-исследователя (вам нужно загрузить комплект ресурсов IIS6 для его получения), затем предоставили разрешения на чтение для моего пользовательского пользователя (как указано в одном из сообщений) на LS, SMTPSvc и SMTPSvc/1, и это сработало. По какой-то неизвестной причине, если вы предоставляете разрешения только для ключа smptSvc, это не работает.

-2

Вы можете отправить напрямую на сервер SMTP без использования каталога раскладки.

+0

Спасибо за ваш ответ, но у меня есть причины использовать справочник пикапа. –

-1

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

Поскольку в среднем режиме доверия вы можете писать только в каталог своего приложения (или любой из них ниже). И если папка PickUp, которую вы указали, не находится в каталоге вашего приложения И приложение работает под средним доверием (не полное доверие), то вы не можете записать в папку PickUp.

+0

Спасибо за ваш ответ, но на самом деле это выделенный сервер. У учетной записи ASP.NET есть разрешения на запись в каталог пикапа. –

+0

Я вижу. BTW, вы проверили, что каталог пикапа указан в диспетчере IIS в настройках электронной почты SMTP? –

+0

Спасибо, что заметили, что на самом деле я не указал его. Я указал директорию пикапа в диспетчере IIS, но, к сожалению, все еще получаю ту же ошибку. –

-2

Сначала необходимо указать каталог раскладки. Вот как это сделать: guide.

Также не рекомендуется сравнивать IIS 5.1 с коробкой XP с той, что была на вашем Windows Server 2008 (IIS 7), поскольку, помимо очевидной разницы в версии, многие функции сильно изменились. В частности, сервер smtp, например, такой возможности нет в Vista.

+0

Большое спасибо за ваш ответ. Я знаю, что не стоит сравнивать старую версию с новой версией, но на самом деле я не сравниваю IIS 5.1 с IIS 7, я только сравниваю SMTP, который, я считаю, действительно не изменился сильно или, возможно, вообще (для например, вам все равно нужно получить доступ к настройкам SMTP в Windows 2008 от диспетчера IIS 6) –

+0

Фактически указание каталога пикапа не требуется, он работал, не делая этого –

Смежные вопросы