Настройка SMTP в SharePoint 2013 для отправки почты через Exchange Online (Office 365)

См. также: Установка SharePoint Foundation 2013 на Windows Server 2012 R2 с SQL Server 2014

Дано: Система Windows Server 2012 R2 с установленным SharePoint Foundation 2013 на IIS 8. Также имеется корпоративный Office 365 с Exchange Online.
Задача: настроить сервер исходящей почты SharePoint на отправку писем (оповещений) при помощи заданной учетной записи Exchange Online (Office 365).

Нам понадобится добавить сервер SharePoint в список надежных отправителей, чтобы он мог подключаться и отправлять почту с помощью Exchange Online.
Также существует проблема, которая заключается в том, что SharePoint по умолчанию настроен на то, чтобы отправлять почту по 25 порту, однако службы Exchange Online будут принимать письма только по 587 порту. Поэтому необходимо будет создать связь между ними, при этом в качестве инструмента будет использован встроенный в систему SMTP и IIS 6.0.

Итак, начнем:


1. Установка SMTP (если он уже установлен, пропустите этот шаг)
В Server Manager выберите "Add roles and features":


В блоке Installation Type выбираем Role-based or feature-based installation:


В блоке Server Selection выбираем Select a server from the server pool, а в списке пулов выбираем нужный, если их несколько.


Затем пропускаем блок Server Roles, переходим к блоку Features и выбираем фичу SMTP Server:


При выборе появится предупреждение, что для работы почтового сервера потребуются дополнительные компоненты, а именно SMTP Server Tool, ODBC Logging и IIS 6 Management Console (нажимаем Add Features):


Далее устанавливаем выбранные компоненты:


После установки перезагружаемся, если потребуется, и запускаем IIS 6 Manager, находим только что установленный SMTP сервер (SMTP Virtual Server) и открываем его свойства (Properties):


В открывшемся окне "[SMTP Virtual Server #1] Properties" переходим на вкладку "Доставка (Delivery)" и нажимаем кнопку "Безопасность исходящих подключений (Outbound Security)":


В открывшемся окне включаем обычную проверку подлинности (Basic authentication) и в полях имя пользователя и пароль вводим учетную запись Exchange Online, от имени  которой будет отправляться почта. Также включаем шифрование (TLS encryption):


Нажимаем Ок и в той же вкладке переходим по кнопке "Исходящие подключения (Outbound connections)" и в поле TCP порт меняем 25 на порт 587.


Нажимаем Ок и в той же вкладке переходим по кнопке дополнительных настроек (Advanced) "Исходящие подключения (Outbound connections)".

Здесь необходимо указать:
Полное доменное именя (Fully-qualified domain name) - адрес сервера SharePoint (вероятно он будет прописан автоматически)
Промежуточный узел (Smart host) - адрес исходящего SMTP сервера Exchange Online


Далее в целях безопасности и защиты от возможных спам атак на наш почтовый сервер, укажем кто может к нему обращаться. Переходим на вкладку "Доступ" и нажимаем кнопку Подключения (Connection):


Т.к. в нашем случае SMTP и SharePoint находятся на одной машине, то устанавливаем параметр "Только из списка ниже (Only the list below)" и добавляем IP адреса - 127.0.0.1 и 192.168.х.х (адрес текущего сервера):


Нажимаем Ок и в той же вкладке переходим по кнопке "Ретрансляция (Relay)" и делаем то же самое:


Теперь необходимо сделать так, чтобы служба SMTP запускалась автоматически вместе с системой. В системе в Administrative Tools переходим к списку сервисов (Services) и находим сервис Simple Mail Transfer Protocol (SMTP):


В настройках сервиса запускаем сервис, если он еще не запущен (Start), а также указываем тип запуска (Startup type) - автоматически (Automatic):


Настройка SMTP на IIS 6.0 завершена.

Приступим к настройкам в IIS 8.

Переходим в IIS 8 Manager, находим SharePoint веб-приложение, с которого нужно отправлять почту (например, SharePoint-80) и открываем его SMTP настройки (кнопка SMTP E-mail):


В настройках указываем "Использовать localhost (Use localhost)" и нажимаем "Apply":


Далее необходимо указать smtp настройки непосредственно в Центре администрирования SharePoint. Открываем административную веб-консоль и переходим по ссылке "Параметры системы (System Settings) – Настройка параметров исходящей электронной почты (Configure outgoing e-mail settings)":


Указываем следующие настройки:


SMTP сервер исходящей почты (Outbound SMTP server) - прописываем тот же сервер, что был указан в параметре "Полное доменное именя (Fully-qualified domain name)" в настройках SMTP выше.

From address и Reply-to address - указываем почту, от имени которой предполагается отправка почты.

Можно проверить работу почты, настроив оповещения на каком-нибудь списке. Если всё настроено правильно, пользователи начнут получать письма от указанного в параметрах ящика Exchange Online.

(с) Ella S.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

7 комментариев :

  1. Здравствуйте!

    А что и где нужно добавить в Exchange online чтобы он не блокировал рассылку с портала?

    ОтветитьУдалить
    Ответы
    1. А как проявляется блокировка? Почта не уходит?

      Удалить
  2. Доброго времени суток,

    Как быть с ситуацией когда пользователь расшаривает документ и отправляет оповещение? В этом случае сообщение отправляеться от имени пользователя и блокируеться на SMTP relay'е с ошибкой "Client does not have permissions to send as this sender".

    ОтветитьУдалить
    Ответы
    1. Хм... интересно. Надо потестировать.

      Удалить
    2. По факту, нужно назначить права учетной записи Exchange Online которая используеться в SMTP relay'е "SENT AS" для всех пользователей в Office 365.
      С точки зрения безопастности и ежедневной работы администраторов не совсем кравивое решение.
      Проблема номер:
      1 - Любой кто знает пароль учетной записи Exchange Online может отправить пиьсмо от их имени.
      2 - При создании нового почтового ящика обязательно нужно делегировать права "Sent as" для учетной записи Exchange Online. Что делает рутинную операцию более сложной.
      Вопрос: Возможно ли настроить SharePoint отправлять сообщения не от пользователя который "расшарил" документ, а от учетной записи прописанныой в SMTP relay'е?

      Удалить
    3. Мне кажется, что это можно сделать, только снизив уровень безопасности - вот тут вроде говорят о похожем случае - https://social.technet.microsoft.com/Forums/lync/en-US/156c0dae-65ee-41ef-b5e6-1d2691c14b83/sharepoint-2013-share-notification?forum=sharepointgeneral

      Пока не могу проверить, т.к. у нас пользователям запрещено "шарить" документы в SharePoint (права устанавливаются только администратором на уровне библиотек или папок).

      Удалить