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

Группы рассылки Exchange 2010 не принимают внутреннюю почту через smtp

В Exchange 2010 у меня есть группа рассылки all@domain.com. Разрешено использовать только для внутренней почты. Он отлично работает при отправке писем через OWA или напрямую через Outlook RPC. Однако он не работает через аутентифицированный SMTP (в течение некоторого времени пользователям придется использовать pop3 / smtp вместо RPC из-за решения руководства), что приводит к ошибке, как показано ниже:

#550 5.7.1 RESOLVER.RST.AuthRequired; authentication required ##

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

Чтобы пользователи SMTP могли отправлять электронные письма в группы рассылки с "Require that all users are authenticated" установлен флаг в группе, необходимо добавить "ms-Exch-SMTP-Accept-Authentication-Flag" к коннекторам получения.

Давайте проверим текущие настройки на коннекторе:

Get-ReceiveConnector "EXCHANGE1\Client EXCHANGE1" | Get-ADPermission
-User "NT AUTHORITY\Authenticated Users" | ft user,extendedrights

NT AUTHORITY\Authenticated Users                  {ms-Exch-SMTP-Accept-Any-Sender} 
NT AUTHORITY\Authenticated Users                  {ms-Exch-SMTP-Accept-Any-Recipient} 
NT AUTHORITY\Authenticated Users                  {ms-Exch-Accept-Headers-Routing} 
NT AUTHORITY\Authenticated Users                  {ms-Exch-Bypass-Anti-Spam} 
NT AUTHORITY\Authenticated Users                  {ms-Exch-SMTP-Submit}

С такой настройкой это не работает. Итак, мы добавляем ms-Exch-SMTP-Accept-Authentication-Flag к коннектору SMTP с помощью этой команды:

Get-ReceiveConnector "EXCHANGE1\Client EXCHANGE1" | Add-ADPermission
-User 'NT Authority\Authenticated Users' -ExtendedRights ms-Exch-SMTP-Accept-Authentication-Flag

И мы проверяем его добавление с помощью этой команды:

Get-ReceiveConnector "EXCHANGE1\Client EXCHANGE1" | Get-ADPermission
-User "NT AUTHORITY\Authenticated Users" | ft user,extendedrights

NT AUTHORITY\Authenticated Users                  {ms-Exch-SMTP-Accept-Any-Sender} 
NT  AUTHORITY\Authenticated Users                 {ms-Exch-SMTP-Accept-Any-Recipient} 
NT AUTHORITY\Authenticated Users                  {ms-Exch-Accept-Headers-Routing} 
NT AUTHORITY\Authenticated Users                  {ms-Exch-SMTP-Accept-Authentication-Flag}
NT AUTHORITY\Authenticated Users                  {ms-Exch-Bypass-Anti-Spam} 
NT AUTHORITY\Authenticated Users                  {ms-Exch-SMTP-Submit}

Примечание: {ms-Exch-SMTP-Accept-Authentication-Flag} чего раньше не было.

И это все. После этого работает. В моем случае мне пришлось настроить его на 2 коннектора (2 сервера Exchange).

Я не нашел способа заставить эту работу работать с клиентами SMTP AUTH, не открывая группу для всего мира. Я думаю, что предпочтительнее оставить параметр «Требовать аутентификации всех пользователей» включенным в вашей группе рассылки «все», так что это может быть невозможно при вашей настройке.