Настройка 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! проблема была решена.
Ответ 5
Я не уверен, что этот диагностический инструмент может предоставить больше информации,
http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1308
Этот инструмент предназначен для x86.
Ответ 6
Вы проверили, принимает ли SMTP-услугу почту для ретрансляции с localhost? Для этого telnet от рассматриваемой машины к локальному SMTP-серверу и используйте SMTP-команды для отправки тестового сообщения. Служба SMTP очень придирчива к форматированию команд, поэтому вам нужно быть осторожным при вводе команд (т.е. Не использовать обратное пространство для исправления типографских ошибок).
Ответ 7
Это, случайно, старое "классическое" приложение ASP, использующее CDONTS для отправки почты?
Если да, возможно, один из эти ссылки были бы полезны?
Отредактировано: Я ответил, прежде чем замечать примечание на оригинальном посте. Игнорирование...
Ответ 8
Я столкнулся с этим сообщением при исследовании работы SMTP в моем приложении ASP.Net, которое мы переносили с IIS6 на IIS7. Я обнаружил, что нам не нужно было настраивать SMTP-сервер вообще - просто настройка SMTP-почты была достаточно - с дополнительным преимуществом НЕ иметь проблемы безопасности SMTP-ретрансляции через веб-сервер!
поэтому, если вам не нужен ваш веб-сервер для собственно маршрутизации SMTP, вам не нужно настраивать сервер вообще в IIS7.