Настройка SMTP в IIS 7 на Windows Server 2008

Веб-сайт начал свою жизнь в рамках IIS 6, и сайт работал там отлично. Теперь, перейдя на новый сервер под управлением W2K8S, все, кроме доставки почты с веб-сайта, теперь отлично работает под IIS 7.

Краткий обзор в Интернете, чтобы узнать, есть ли у кого-то хорошее разрешение, но безуспешно... Не даже проблеск надежды на веб-сайте поддержки Microsoft.

Вот шаги, предпринятые до сих пор в новом окне W2K8S:

  • Добавлена ​​функция SMTP в диспетчере серверов
  • Включено SMTP-письмо для самого сайта в диспетчере IIS 7 для доставки электронной почты на локальный хост SMTP-сервера, неудачный
  • Включено SMTP-адрес электронной почты для корневого сайта в диспетчере IIS 7 (не уверен, что он должен быть включен для включения сайтов) для доставки электронной почты на локальный хост SMTP-сервера, неуспешно

После отказа от этих базовых настроек я хотел быть уверенным, что я действительно могу поговорить с/на серверный порт 25. И я могу успешно связаться с сервером/с сервером на тестовом e-mail на порту 25, получить HELO и т.д. Поэтому я не считаю, что это проблема конфигурации брандмауэра.

Тест настройки IIS 7 выполнялся как с анонимной, так и с Windows-аутентификацией - не повезло в любом случае.

Вручную проверил файл веб-конфигурации и отображает правильную запись для использования локальным хостом.

Прочитайте руководство и не повезло там...: -/

Ответы

Ответ 1

Я столкнулся с той же проблемой.

Я наткнулся на эту ссылку http://www.frontpagewebmaster.com/m-215289/tm.htm

и я смог решить проблему. Перейти к последнему сообщению этой ссылки.

В моем случае я решаю проблему, предоставляя права пользователю "NETWORK SERVICE" в папку "Пикап".

Надеюсь, это поможет...

Ответ 2

ОК, на сообщение, в котором говорится: "Дайте NETWORK USER права на запись в папку для пикапа", наконец, он работает. Я сделал это:

  • Вам нужно использовать "умный хост", если вы не используете Exchange-сервер. Я использую учетную запись Gmail, Gmail позволяет перенаправление SMTP.

  • Вы можете использовать проверку подлинности Windows для обеспечения безопасности на SMTP-сервере и настройку конфигурации IIS7.

  • Сначала выполните настройку метода доставки = "сеть" на своей веб-странице и настройте свой смарт-узел независимо от SMTP-сервера.

    SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.UseDefaultCredentials = false; // use your smart host login client.Credentials = new NetworkCredential("[email protected]", "password");
    client.EnableSsl = true;
    

    Это приведет к отправке электронной почты напрямую и обойти ваш SMTP-сервер.

  • Второй шаг, как только вы это сделаете, напишите пример приложения Windows, чтобы использовать ваш SMTP-сервер независимо от вашей веб-страницы и получить эту работу.

    SmtpClient client = new SmtpClient("your server ip", 25);
    client.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
    client.EnableSsl = false; // you can't use ssl with a pickup folder
    client.UseDefaultCredentials = true; // use windows credentials
    

    Это приведет к обходу вашей веб-страницы и убедитесь, что ваш SMTP-сервер настроен правильно.

  • Наконец, заработайте свою веб-страницу, установив общий доступ к папке пикапа, чтобы разрешить доступ на запись к NETWORK_SERVICE. Передайте данные входа с шага 3, в свои настройки SMTP, установите аутентификацию для интегрированной безопасности и используйте код на шаге 4 для своей веб-страницы.

Ответ 3

У меня была точно такая же проблема, как описано в этом старом вопросе. Наконец я нашел решение. В моем случае операционная система W2008 R2 с IIS 7.5, но я думаю, что это не имеет значения.

Основная проблема заключается в том, что SMTP-служба в W2008 R2, по-видимому, является старой частью IIS. Он устанавливается вместе с инструментами администрирования IIS 6.0, рядом с сервером IIS 7.X. Это вызывает две производные проблемы:

IIS 7.X ничего не знает о службе SMTP. Если вы настроите SMTP в ASP.NET для использования PickupDirectoryFromIis, это приведет к исключению. Поэтому вы не можете использовать эту конфигурацию SMTP:

<smtp deliveryMethod="PickupDirectoryFromIis" />

Но можно настроить SMTP с помощью SpecifiedPickupDirectory, Вы можете использовать эту конфигурацию:

<smtp deliveryMethod="SpecifiedPickupDirectory">
    <specifiedPickupDirectory pickupDirectoryLocation="C:\inetpub\mailroot\Pickup"  />
</smtp>

Если вы настраиваете каталог пикапа таким образом, вы можете столкнуться с проблемой второго типа: IIS6 и IIS7.X имеют разные системы безопасности. IIS 7.X представляет интегрированную защиту с идентификаторами пула приложений. IIS 6.0 и его служба SMTP не знают об этом. Поэтому вы должны предоставить разрешения на запись для IIS_IUSRS в папку pickup. В моей конфигурации папка пикапа - C:\inetpub\mailroot\pickup.

Ответ 4

Я заметил, что идентификатор события 4006 ссылался на контроллер домена ip вместо почтового сервера ip. Я использовал средство администрирования iis 6 для настройки smarthost, указывающего на почтовый сервер и voila! проблема была решена.

Ответ 6

Вы проверили, принимает ли SMTP-услугу почту для ретрансляции с localhost? Для этого telnet от рассматриваемой машины к локальному SMTP-серверу и используйте SMTP-команды для отправки тестового сообщения. Служба SMTP очень придирчива к форматированию команд, поэтому вам нужно быть осторожным при вводе команд (т.е. Не использовать обратное пространство для исправления типографских ошибок).

Ответ 7

Это, случайно, старое "классическое" приложение ASP, использующее CDONTS для отправки почты?

Если да, возможно, один из эти ссылки были бы полезны?

Отредактировано: Я ответил, прежде чем замечать примечание на оригинальном посте. Игнорирование...

Ответ 8

Я столкнулся с этим сообщением при исследовании работы SMTP в моем приложении ASP.Net, которое мы переносили с IIS6 на IIS7. Я обнаружил, что нам не нужно было настраивать SMTP-сервер вообще - просто настройка SMTP-почты была достаточно - с дополнительным преимуществом НЕ иметь проблемы безопасности SMTP-ретрансляции через веб-сервер!

поэтому, если вам не нужен ваш веб-сервер для собственно маршрутизации SMTP, вам не нужно настраивать сервер вообще в IIS7.