Одним из важных этапов настройки фермы SharePoint является настройка интеграции SharePoint с действующей в организации почтовой системой. В этой заметке мы рассмотрим процедуру настройки исходящей почты, которая служит в SharePoint для функций оповещений администраторов (административные сообщения) а также для возможности создавать подписки на оповещения об изменениях на сайтах, списках, библиотеках для пользователей веб-сайтов фермы SharePoint. Документацию по теме на русском языке можно найти по ссылкам Планирование исходящей электронной почты для фермы SharePoint в SharePoint 2013 и Настройка исходящей электронной почты для фермы SharePoint 2013.
Настроить параметры исходящей почты можно как на уровне всей фермы SharePoint (глобальные параметры по умолчанию) так и на уровне отдельно взятого веб-приложения. Для настройки глобальных параметров исходящей почты на веб-узле Центра администрирования (ЦА) перейдём по ссылкам:
Central Administration > System Settings > E-Mail and Text Messages (SMS) > Configure outgoing e-mail settings
В открывшейся форме Outgoing E-Mail Settings мы увидим всего 4 доступных для настройки параметра:
Outbound SMTP server – Имя SMTP сервера, который будет выполнять отправку электронной почты исходящей от служб и веб-приложений SharePoint. Если в перспективе наряду с исходящей почтой в ферме SharePoint планируется настройка и использование входящей почты (она может быть настроена например для принятия писем в Библиотеки документов), да ещё ко всему на почтовом сервере организации есть жесткое требование, чтобы все SMTP сессии использовали авторизацию, то нам резонно будет выполнить настройку локальной службы SMTP на сервере SharePoint, которая будет выполнять получение почты от служб и веб-приложений SharePoint и передавать её почтовому серверу организации. Поэтому при такой конфигурации в значение параметра Outbound SMTP server мы впишем имя самого сервера SharePoint, на котором далее мы развернём и настроим встроенную в ОС функцию SMTP Server – KOM-AD01-WEB03.holding.com.
В качестве адреса отправителя (From address) – укажем любой понятный email, который может быть принят почтовой системой организации.
В качестве обратного адреса (Reply-to address) – лучше всего будет указать адрес группы рассылки, в которую в качестве получателей входят все администраторы фермы SharePoint.
Набор символов для почтового сообщения используем по умолчанию Unicode UTF-8
Как мы видим, в SharePoint нет явных настроек позволяющих указать параметры авторизации на SMTP-сервере в случае такой необходимости.
Теперь нам нужно установить и настроить на нашем веб-сервере службу SMTP Server в режиме использования Smart Host, то есть чтобы все полученные этой службой письма от процессов SharePoint передавались для последующей пересылки основному почтовому серверу организации, например серверу Exchange Server.
Вызываем на нашем сервере SharePoint в оснастке Server Manager мастер добавления ролей и на шаге Features включаем установку SMTP Server…
При этом нам будет предложено установить компоненты Internet Information Services (IIS), так как управление SMTP Server будет выполняться через оснастку IIS 6.0 Manager. Соглашаемся с их установкой.
После завершения установки открываем консоль управления Службами Windows (Control Panel > Administrative Tools > Services), находим в списке службу Simple Mail Transfer Protocol (SMTP). В свойствах этой службы на закладке General меняем тип запуска службы с Manual на Automatic. На закладке Recovery включаем перезапуск службы в случае проблем – Restart the Service
Теперь чтобы настроить параметры работы установленного локального SMTP сервера открываем консоль IIS 6.0 Manager (Control Panel > Administrative Tools > Internet Information Services (IIS) 6.0 Manager), разворачиваем в дереве навигации сервер и открываем свойства созданного по умолчанию объекта SMTP Virtual Server #1.
На закладке Access нажимаем кнопку Authentication и в открывшейся диалоговой форме включаем анонимный доступ (Anonymous Access) к SMTP-серверу.
Кнопкой Relay настраиваем список IP адресов, с которых данный SMTP сервер будет принимать к доставке почту (указываем адрес самого сервера 10.160.0.16 и внутренний служебный адрес 127.0.0.1). Это ограничение ретрансляции почты нужно сделать для того, чтобы наш SMTP сервер не стал лёгкой добычей для всевозможных спам-ботов, но мог при этом принимать и пересылать почту от локальных служб и приложений работающих на нашем сервере SharePoint.
На закладке Messages при необходимости настраиваем лимиты, в том числе на максимально возможный размер письма в соответствии с действующими в организациями правилами.
На закладке Delivery по кнопке Advanced указываем имя Smart host, то есть имя почтового сервера организации, на который будет пересылаться почта с локальной службы SMTP для дальнейшей доставки конечным получателям. По кнопке Outbound connections можно настроить параметры исходящих SMTP подключений, в частности указать номер используемого порта (по умолчанию TCP 25). По кнопке Outbound Security можно настроить параметры авторизации для отправки почты, если этого требует почтовый сервер организации.
Этих базовых настроек достаточно для того, чтобы заставить работать локальный SMTP сервер так, как это нам нужно для организации исходящей почты в SharePoint.
Чтобы убедиться, в том что ограничения по ретрансляции почты, которые мы настроили для нашего SMTP сервера работают, попытаемся, например с помощью Telnet, выполнить отправку почты через наш SMTP сервер с внешнего хоста, например с рабочей станции администратора.
Как видим, служба SMTP отклонила наш запрос на пересылку почты.
Теперь попытаемся выполнить отправку почты на самом сервере SharePoint. Для примера можно попробовать выполнить попытку отправки от имени пользователя LocalSystem, запустив командную строку с помощью утилиты PsExec командой
PsExec.exe -s -i cmd
Как видим, сообщение успешно принято службой SMTP для отправки, после чего эта служба согласно сделанным настройкам выполняет перенаправление письма на Smart Host, то есть на почтовый сервер организации, который уже в свою очередь доставляет письмо конечному получателю.
В целом описанных действий достаточно для того, чтобы функционал исходящей почта в SharePoint начал успешно работать, однако в некоторых источниках можно встретить также рекомендацию дополнительной настройки SMTP E-mail в конфигурации IIS на уровне веб-сервера.
***
Предыдущие заметки цикла об установке и базовой настройке SharePoint Server 2013 SP1 можно найти по ссылкам:
Позже выяснилось, что указанный в последнем скриншоте метод дополнительной настройки IIS может иметь свои отрицательные последствия. Поле "E-mail address" лучше оставлять незаполненным, в противном случае IIS будет изменять заголовки всех исходящих писем. То есть, если в SharePoint на уровне отдельного веб-приложения или даже всей фермы у вас задан какой-то определённый адрес исходящей почты, то он будет заменяться тем адресом который указан в настройках IIS.