none
Отправка писем в группу рассылки, имеющую внешние адреса RRS feed

  • Вопрос

  • Всем добрый день. Не могу пока найти ответа на свой вопрос - опишу ситуацию.

    В данный момент имеем:

    4 сервера Exchange 2013 внутри сети (2 CAS + 2 MailBox) - новый домен, пусть newdomain.ru

    1 сервер на mta exim4 - грубо говоря пограничный сервер (старый сервер, с которого сейчас мигрируем, на нём несколько доменов - olddomain1.ru, olddomain2.ru, olddomain3.ru)

    1 сервер вообще вне предприятия в интернете (дружественная организация - otherdomain.ru)

    Есть у нас группа рассылки из AD - universal security group - someusers. В эту группу входят пользователи, у которых в поле mail внесены различные email адреса. К примеру у васи петрова vasya@newdomain.ru, у оли ивановой - olya@olddomain1.ru, у пети сидорова - petya@olddomain2.ru, а у алексея васильева - alex@otherdomain.ru.

    Так вот, когда делаем рассылку на данную группу распространения - письма приходят только пользователям из newdomain.ru, хотя в тоже время если посылать НЕ через данную группу а напрямую каждому из них - письма доходят до адресатов.

    Что может быть не так?

Ответы

  • Все понятно.

    В общем не будет оно так работать. Надо создать контакт, для которого установить внешний адрес user@olddomain1.ru и включить его в группу рассылки.

    В текущей ситуации в логах потому и нет ничего, так как для Exchange этого пользователя не существует. 

    • Помечено в качестве ответа Zykov Alex 6 июля 2015 г. 19:13
    6 июля 2015 г. 13:29
  • Итак резюмируя всё в один пост:

    Для того, чтобы почтовые сообщения доходили до внешних адресатов (вне Exchange) при рассылке на группу распространения exchange (в которую входят эти самые пользователи) необходимо следующее:

    1) наличие PrimarySmtpAddress у этой группы, проверить можно через cmdlet (синтаксис)

    Get-DistributionGroupMember -Identity <groupidentity> | fl PrimarySmtpAddress

    2) Необходимо создать либо контакт (New-MailContact), либо пользователя (New-MailUser) для которых и назначить в качестве -ExternalEmailAddress внешний адрес электронной почты.

    Так как у меня уже были созданы пользователи и прописаны для них внешние адреса, я просто "включил" их в "контакты" Exchange (через cmdlet Enable-MailUser) следующим скриптом, предварительно подготовив файл csv (да, можно по другому, делайте как необходимо, я лишь привожу свой вариант):

    Import-Csv -Path 'usersformailenable.csv' | ForEach-Object { Enable-MailUser -Identity $_.sAMAccountName -ExternalEmailAddress $_.mail }

    В файле два параметра: по первому выбираются объекты (sAMAccountName), которым включается "контакт" на Exchange и назначается адрес mail.

    Пока нет объекта для Exchange (MailUser или MailContact) - никакое письмо не дойдёт, просто некуда посылать сообщение в идеологии Exchange.

    3) Данные пользователи должны быть включены в группу рассылки - вдруг Вы их в неё не включили - проверять обязательно;

    4) После того, как Вы произвели предыдущие шаги подготовки и проверили работоспособность через OWA - очистите кэш автозаполнения в Outlook (Файл-Параметры-Почта-Очистить список автозавершения) и заново загрузите автономную адресную книгу (OAB) через Файл-Настройка учётных записей-Загрузить адресную книгу.

    Вот собственно всё, что мне помогло в решении текущего вопроса. Огромное спасибо Artem R за помощь.




    • Помечено в качестве ответа Zykov Alex 7 июля 2015 г. 3:57
    • Изменено Zykov Alex 3 августа 2015 г. 6:08 дополнено
  • Ок, понятно.

    1. Если домен сделать авторитативным (для теста), проблема сохраняется?

    2. Проверьте вывод:

    Get-DistributionGroupMember someusers@newdomain.ru | fl PrimarySmtpAddress

    • Помечено в качестве ответа Zykov Alex 6 июля 2015 г. 19:12
    6 июля 2015 г. 13:00
  • В Outlook очистите кэш автозаполнения и обновите адресную книгу (OAB). После этого будет работать и через него.
    • Помечено в качестве ответа Zykov Alex 7 июля 2015 г. 3:28
    6 июля 2015 г. 20:10

Все ответы

  • Добрый день.

    Начните с поиска этого письма в Message Tracking Log.


    Blog - Smtp25.ru
    Полезные ссылки - Links

    Отвечающий
  • Да в том то и дело, что оно проваливается, как сквозь землю. В MTL нет ничего на счёт этих писем. Смотрю через PowerShell
    • Изменено Zykov Alex 3 июля 2015 г. 10:32 уточнение
    3 июля 2015 г. 10:21
  • Проверьте UPN (UserPrincipalName) для этих участников группы рассылки. 
    3 июля 2015 г. 23:22
  • создал тестовую учётную запись для проверки + тестовую группу рассылки:

    Группа: wssmail / пользователь test с адресом в поле mail: test@olddomain1.ru

    адрес для группы рассылки: wssmail@newdomain.ru / UPN для пользователя - из AD: test@corp.newdomain.ru

    К примеру у меня - zykov@corp.newdomain.ru - адрес mail: zykov@newdomain.ru - но до меня доходят письма через группу рассылки

    • Изменено Zykov Alex 6 июля 2015 г. 5:05 уточнения
  • Ещё мысли господа?
    6 июля 2015 г. 11:39
  • На всякий случай проверьте, есть ли olddomain1.ru в выводе командлета Get-AcceptedDomain. Как понимаю, он должен быть Authoritative. 
    6 июля 2015 г. 11:58
  • он не может быть Authoritative, так как за этот домен отвечает другой сервер, не Exchange.
    6 июля 2015 г. 12:14
  • Ок, он InternalRelay?
    6 июля 2015 г. 12:38
  • Да, именно. Он добавлен в список как InternalRelay, так же сделан коннектор, через который уходит в данный момент вся почта с Exchange на данный домен.
    • Изменено Zykov Alex 6 июля 2015 г. 12:51 edit
    6 июля 2015 г. 12:47
  • Ок, понятно.

    1. Если домен сделать авторитативным (для теста), проблема сохраняется?

    2. Проверьте вывод:

    Get-DistributionGroupMember someusers@newdomain.ru | fl PrimarySmtpAddress

    • Помечено в качестве ответа Zykov Alex 6 июля 2015 г. 19:12
    6 июля 2015 г. 13:00
  • 1. Смогу проверить только глубоким вечером, ибо если почта перестанет туда ходить, будет много вопросов;

    2. В выводе команды пусто

    [PS] C:\Windows\system32>Get-DistributionGroupMember wssmail@newdomain.ru | fl PrimarySmtpAddress
    
    
    PrimarySmtpAddress :

    6 июля 2015 г. 13:19
  • Все понятно.

    В общем не будет оно так работать. Надо создать контакт, для которого установить внешний адрес user@olddomain1.ru и включить его в группу рассылки.

    В текущей ситуации в логах потому и нет ничего, так как для Exchange этого пользователя не существует. 

    • Помечено в качестве ответа Zykov Alex 6 июля 2015 г. 19:13
    6 июля 2015 г. 13:29
  • Обязательно создавать именно Mail Contact? Или можно создавать Mail user (можно выбрать существующего) и нужно ли при этом присутствие домена в AcceptedDomains?

    Попробовал создать контакт на основе уже имеющегося пользователя, назначил ему адрес test@olddomain1.ru. В выводе команды появился PrimarySmtpAddress. Но при отправке письма сразу же приходит ответ от почтовика, что не удалось найти пользователя:

    Введенный адрес электронной почты не удалось найти. Проверьте адрес и попытайтесь повторно отправить это сообщение. Если ошибка повторится, обратитесь в службу поддержки.

    6 июля 2015 г. 13:55
  • В данном случае надо создавать контакт.

    Покажите вывод:
    Get-MailContact test@olddomain1.ru | fl EmailAddresses,ExternalEmailAddress,WindowsEmailAddress

    Если выбрать этот контакт из адресной книги и отправить на него письмо, оно приходит корректно? Проверять желательно в OWA.

    6 июля 2015 г. 14:18
  • Не даёт он просмотреть именно контакт, при вводе Get-MailContact "test" | fl - пишет, что не может найти такого (ну так как он не создан) и создаваться через Enable-MailContact не хочет, та же самая причина - не может найти объект. А вот именно Enable-MailUser - создаёт.

    И вот почему - у нас данные пользователи заведены как объект типа "User". Неужели для каждого ещё и контакт придётся делать. Это же не красиво)

    Данные пользователи либо а) ещё не мигрировали в новый почтовый домен; б) не мигрируют в новый почтовый домен, но используют учётную запись AD для использования файл-сервера, документооборота (пользователи филиалов к примеру).

    23-30 И да, если выбрать контакт (создал ради эксперимента) из адресной книги, то письмо доходит верно.

    00-05 Из owa - работает, из Outlook НЕ работает, как такое может быть?

    00-07 Удалил контакт (в AD - Contact), создал другой - через сmdlet Enable-MailUser (на основе созданного пользователя), включил этот контакт в группу рассылки - письмо ушло из OWA - дошло до адресата с другого домена. Остаётся только разобраться, почему письмо, созданное через owa доходит, а из Outlook - не доходит и возвращается с ошибкой "не найден адресат".
    • Изменено Zykov Alex 6 июля 2015 г. 19:12 дополнено
    6 июля 2015 г. 18:28
  • В Outlook очистите кэш автозаполнения и обновите адресную книгу (OAB). После этого будет работать и через него.
    • Помечено в качестве ответа Zykov Alex 7 июля 2015 г. 3:28
    6 июля 2015 г. 20:10
  • Итак резюмируя всё в один пост:

    Для того, чтобы почтовые сообщения доходили до внешних адресатов (вне Exchange) при рассылке на группу распространения exchange (в которую входят эти самые пользователи) необходимо следующее:

    1) наличие PrimarySmtpAddress у этой группы, проверить можно через cmdlet (синтаксис)

    Get-DistributionGroupMember -Identity <groupidentity> | fl PrimarySmtpAddress

    2) Необходимо создать либо контакт (New-MailContact), либо пользователя (New-MailUser) для которых и назначить в качестве -ExternalEmailAddress внешний адрес электронной почты.

    Так как у меня уже были созданы пользователи и прописаны для них внешние адреса, я просто "включил" их в "контакты" Exchange (через cmdlet Enable-MailUser) следующим скриптом, предварительно подготовив файл csv (да, можно по другому, делайте как необходимо, я лишь привожу свой вариант):

    Import-Csv -Path 'usersformailenable.csv' | ForEach-Object { Enable-MailUser -Identity $_.sAMAccountName -ExternalEmailAddress $_.mail }

    В файле два параметра: по первому выбираются объекты (sAMAccountName), которым включается "контакт" на Exchange и назначается адрес mail.

    Пока нет объекта для Exchange (MailUser или MailContact) - никакое письмо не дойдёт, просто некуда посылать сообщение в идеологии Exchange.

    3) Данные пользователи должны быть включены в группу рассылки - вдруг Вы их в неё не включили - проверять обязательно;

    4) После того, как Вы произвели предыдущие шаги подготовки и проверили работоспособность через OWA - очистите кэш автозаполнения в Outlook (Файл-Параметры-Почта-Очистить список автозавершения) и заново загрузите автономную адресную книгу (OAB) через Файл-Настройка учётных записей-Загрузить адресную книгу.

    Вот собственно всё, что мне помогло в решении текущего вопроса. Огромное спасибо Artem R за помощь.




    • Помечено в качестве ответа Zykov Alex 7 июля 2015 г. 3:57
    • Изменено Zykov Alex 3 августа 2015 г. 6:08 дополнено