Назад | Перейти на главную страницу

Что заменяет SMTP-сервер IIS в Windows Server 2012

Я прочитал заметки здесь http://technet.microsoft.com/en-us/library/hh831568.aspx относительно устаревших и удаленных функций в Windows 2012, и в нем говорится, что SMTP устарел. Я предполагаю, что это относится к SMTP-серверу IIS. Советуем вместо этого использовать System.Net.Smtp, но я предполагаю, что это опечатка, потому что я не могу найти в другом месте ссылок на что-либо, называемое System.Net.Smtp.

Если они действительно хотели сказать System.Net.Mail, это просто API, и я не вижу, как API заменяет процесс сервера. Мне нужна служба, которая принимает соединения через порт 25 и направляет электронную почту в пункт назначения, как это делал раньше IIS SMTP.

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

Я думаю, что упомянутое заявление от Microsoft просто ужасно и полностью сбивает с толку, и я не думаю, что тот, кто его написал, имеет хоть какое-то представление о том, как вообще работает SMTP-сервер. Он не объясняет, почему он устарел или с ним что-то не так. Возможно, есть проблемы с безопасностью или переполнение буфера, но если вы не раскрываете его на общедоступном порту, я без колебаний воспользуюсь им.

Вот что я делаю:

  • В IIS я настроил "SMTP Email", чтобы домен указывал на 10.0.0.1. Я делаю это в родительской папке для любых развернутых сайтов, иначе она будет стерта при повторном развертывании. Если вы хотите, вы можете поместить его прямо в web.config, но в этом случае он менее гибкий.
  • На SMTP-сервере (через консоль управления IIS6) я настроил SMTP-сервер на 10.0.0.1. Очевидно, как я сказал ранее, это не публикуется в публичном Интернете.
  • Я настраиваю этот сервер на ретрансляция через Smart Host через smtp.gmail.com или smtp.live.com
  • В моем приложении .NET я использую Mail API для отправки сообщения с помощью new SmtpClient(). Это забирает конфигурацию из IIS и отправляет почту на мой SMTP-сервер по адресу 10.0.0.1
  • Когда я отправляю письмо, оно мгновенно возвращается, потому что оно просто отправляется на localhost

  • Это важное преимущество использования локального SMTP-сервера, которое нельзя недооценивать и которому 'System.Net.Smtp' сам по себе не может заменить:

    • SMTP-сервер будет пытаться ретранслировать почту через ваш смарт-хост, и если он не может немедленно отправить, он повторит попытку позже.
    • Важно понимать, что иногда даже smtp.gmail.com не отвечает или, возможно, ваша сеть не работает. (На удивление часто, когда я впервые пытался отправить почту напрямую)
    • Без промежуточного SMTP-сервера для хранения сообщений вы не можете просто `` отправить и забыть '' из .NET, и вам нужно будет выяснить какой-то механизм повтора, который совершенно не нужен с SMTP-сервером, который делает все это за вас.
    • Я считаю, что если у вас есть ограничение на ретрансляцию SMTP (на вашем ISP / GMail), то SMTP-сервер будет просто повторять попытки и отправлять сообщения на следующий день - еще одно огромное преимущество, если у вас есть непоследовательный трафик изо дня в день или вы достигнете лимита без осознавая.

Идите и используйте это. Microsoft не предоставила замену, и это бесплатно, так почему бы и нет. «Устарело», на мой взгляд, ничего не значит, если нет замены.

Отказ от ответственности: я все еще использую Server 2008, но я предполагаю, что все это по-прежнему применимо.

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

SMTP и связанные с ним инструменты управления устарели. Хотя эта функциональность по-прежнему доступна в Windows Server 2012, вам следует начать использовать System.Net.Smtp. С помощью этого API вы не сможете вставить сообщение в файл для получения; вместо этого настройте веб-приложения для подключения через порт 25 к другому серверу с помощью SMTP.

Таким образом, в будущем вы должны будете установить и использовать отдельный SMTP-сервер (которого существует множество доступных) для предоставления SMTP-сервисов веб-приложениям, работающим на Windows ServerX.

Это описание в статье, на которую вы ссылаетесь, ужасно! Но вот что он пытается вам сказать:

Включение IIS SMTP в предыдущих версиях Windows делало две вещи:

  1. Запустил SMTP-сервер IIS.
  2. Добавлены библиотеки программирования (например, COM-объекты и т. Д.) Для отправки сообщений.

Если вы использовали эти библиотеки без какой-либо конфигурации, они будут отправлены на локальный SMTP-сервер IIS. Программисты по своей природе ленивы, поэтому, поскольку это сработало с наименьшими усилиями с их стороны, они и поступили именно так. И многие из них не обеспечивали возможность отправки электронной почты через другой SMTP-сервер.

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