Дополнительная информация
Типы очередей
Существуют следую очереди:
- Очереди доставки. Обычная очередь, содержащая письма для пересылки внешним и внутренним пользователям.
- Очередь передачи. Не обработанные службой транспорта сообщения, но полученные ею.
- Теневые очереди. Содержат копии отправляемых писем до момента подтверждения получения от mx-партнеров.
- Очередь подозрительных сообщений. Изолированные сообщения, которые Exchange посчитал, потенциально, опасными. Это могут быть письма, содержащие зловредный код, а может быть и ложное срабатывание из-за ошибки программного обеспечения.
- Сообщения с недостижимым местом назначения. Сообщения, которые не удалось доставить.
Где хранятся очереди Exchange
Очереди хранятся в базе данных ESE, которая находится в папке «%ExchangeInstallPath%TransportRoles\data\Queue»:
* mail.que — основной файл с базой очередей; tmp.edb — временный файл для проверки схемы самой базы; trn.chk — контрольные точки для отслеживания записи в логах.
Со временем, файл mail.que может разрастись и занимать много места. Для полной чистки базы ее можно просто создать заново. Для этого открываем службы Windows — останавливаем Microsoft Exchange Transport (перестанет работать почта) — переименовываем папку Queue, в которой находятся файлы базы и снова запускаем службу транспорта. Папка и база очереди создастся снова.
Смена пути хранения очереди
Открываем на редактирование файл %ExchangeInstallPath%\Bin\EdgeTransport.exe.config (C:\Program Files\Microsoft\Exchange Server\V14\Bin\EdgeTransport.exe.config) и меняем значения ключей QueueDatabasePath и QueueDatabaseLoggingPath, например:
<add key=»QueueDatabasePath» value=»D:\Queue» />
<add key=»QueueDatabaseLoggingPath» value=»D:\Queue» />
* где QueueDatabasePath — папка хранения файлов очереди; QueueDatabaseLoggingPath — папка хранения файлов журналов очереди.
Возможные значения поля source
Значение источника | Описание |
---|---|
ADMIN |
Источник события был введен пользователем. Например, администратор использовал средство просмотра, чтобы удалить сообщение, или отправил файлы сообщений с помощью каталога воспроизведения. |
AGENT |
Источником события был агент транспорта. |
APPROVAL |
Источником события была платформа утверждения, используемая для контролируемых получателей. Подробнее см. в разделе Управление утверждением сообщений. |
BOOTLOADER |
Источником события были необработанные сообщения, которые присутствовали на сервере на момент загрузки. Это относится к типу событий LOAD. |
DNS |
Источником события было DNS. |
DSN |
Источником события было уведомление о доставке (также называемое сообщением возврата или отчетом о недоставке). |
GATEWAY |
Источником события был внешний соединитель. Подробнее см. в разделе Внешние соединители. |
MAILBOXRULE |
Источником события было правило для папки «Входящие». Дополнительные сведения см. в статье Правила для папки «Входящие» в Outlook Web App. |
MEETINGMESSAGEPROCESSOR |
Источником события был обработчик сообщения о собрании, который обновляет календари в соответствии с обновлениями собрания. |
ORAR |
Источником события был альтернативный получатель, запрошенный отправителем (ORAR). Вы можете включить или отключить поддержку ORAR на получающих соединителях, используя параметр OrarEnabled в командлете New-ReceiveConnector или Set-ReceiveConnector. |
PICKUP |
Источником события был каталог раскладки. Подробнее см. в разделе Каталог раскладки и каталог преобразования. |
POISONMESSAGE |
Источником события был идентификатор сообщения о сбое. Дополнительные сведения о сообщениях о сбое и очереди сообщений о сбое см. в разделе Queues and messages in queues |
PUBLICFOLDER |
Источником события была общедоступная папка, поддерживающая почту. |
QUEUE |
Источником события была очередь. |
REDUNDANCY |
Источником события было избыточное теневое копирование. Подробнее см. в разделе Теневая избыточность. |
ROUTING |
Источником события был компонент разрешения маршрутизации классификатора в службе транспорта. |
SAFETYNET |
Источником события была сеть безопасности. Подробнее см. в разделе Система безопасности. |
SMTP |
Сообщение было отправлено компонентом отправки или получения SMTP службы транспорта. |
STOREDRIVER |
Источником события была MAPI-отправка из почтового ящика на локальном сервере. |
Использование Powershell
Для работы из командной строки или написания скриптов, можно использовать Powershell командлет Get-MessageTrackingLog. Примеры его использования лучше всего посмотреть в графической оболочке — при формировании запроса с фильтрами, система выводит аналогичную команду на Powershell.
Простой запрос для отображения входящих сообщений:
Get-MessageTrackingLog -EventID «RECEIVE» -Start «2017/10/20 13:27:00» -End «2017/10/31 13:37:00»
* данная команда выведен сообщения за период от Start до End.
Мы можем увидеть ПРЕДУПРЕЖДЕНИЕ: Доступно больше результатов, чем показано в настоящий момент. Для их просмотра увеличьте значение параметра ResultSize. Это означает, что выведены не все результаты. Чтобы получить все данные, добавляем в конце команды -ResultSize unlimited.
1. Для входящих
Получить количество входящих сообщений:
(Get-MessageTrackingLog -EventID «RECEIVE» -ResultSize unlimited).Count
Входящие сообщения, которые пришли через определенный коннектор:
Get-MessageTrackingLog -EventID «RECEIVE» -ResultSize unlimited | Where {$_.ConnectorId -eq «Интернет»}
Поиск входящего письма для определенного получателя за определенный период, где тема сообщения содержит слово «вопрос»:
Список сообщений, с поиском отправителя по домену:
Get-MessageTrackingLog -EventID «RECEIVE» -Start «2017/10/20 00:00:00» -End «2017/10/21 00:00:00» -ResultSize unlimited | Where {$_.Sender -like «*@mail.ru»}
2. Для исходящих
Количество отправленных писем:
(Get-MessageTrackingLog -EventID «SEND» -ResultSize unlimited).Count
Для просмотра количества оправленных сообщений наружу стоит указать ConnectorId, иначе, в статистику попадут служебные письма:
(Get-MessageTrackingLog -EventID «SEND» -ResultSize unlimited | Where {$_.ConnectorId -eq «Наружу»}).Count
Список отправленных писем за определенный период:
Get-MessageTrackingLog -EventID «SEND» -Start «2017/10/20 00:00:00» -End «2017/10/21 00:00:00» -ResultSize unlimited
Список сообщений от определенного отправителя:
Поиск сообщения, отправленного определенному получателю:
Поиск письма, отправленного на определенный домен:
Get-MessageTrackingLog -EventID «SEND» -ResultSize unlimited | where {$_.Recipients -like «*@mail.ru»}
Повышение схемы
В пределах одной сети доступна только одна организация. Нельзя использовать разные ES параллельно. Если вы уже установили почтовый ресурс, можно разобраться, как повысить схему Exchange 2003 до 2007, 2010, 2013 или 2016. Это достаточно сложный процесс, в котором надо учитывать большое количество факторов. Начиная от установленных программ, заканчивая настройками каждого пользователя. Для миграции программы ES надо хорошо в ней разбираться.
- Загрузите все обновления для ES.
- Разверните утилиту, на которую собираетесь перейти. Делать это надо в таком порядке: Клиентский доступ, Транспортный концентратор, Система сообщений, Почтовые ящики.
- На передний план поставьте старую утилиту. На место клиентского доступа поставьте желаемую версию.
- Настройте транспортный концентратор и систему сообщений.
- Переместите ящики на новый сервер.
- Обновите все службы AD.
Ещё один способ. На technet.microsoft.com есть интерактивный помощник по работе с ES. Зайдите на этот сайт, введите в строку поиска запрос и откройте нужную страницу. Чтобы поднять схему, нажмите «Локальное развёртывание». Выберите версию, на которую хотите перейти. Там есть обновление среды.
Без Microsoft Exchange server невозможно представить большую компанию. Собственный почтовый домен повысит эффективность компании. Но в маленьком предприятии сервер тоже незаменим. В программе очень легко сделать приём и отправку сообщений по всем протоколам. Её можно подключать к Outlook.
Скрипт мониторинга очередей
Пример рабочего скрипта на Powershell:
Set-PSDebug -Off
$username = «dmosk\admin»
$password = cat C:\Scripts\password.txt | convertto-securestring
$threshold_count = 100
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://mx.dmosk.local/powershell -Credential $cred
Import-PSSession $session
function Send-Alert () {
$it = «Дмитрий <master@dmosk.ru>»
$from = «Служба проверки очереди сообщений <queue_check@dmosk.local>»
$subject = «Необходимо проверить транспорт почты»
$bodyMessage = «Есть очереди, превышающие допустимое количество писем»
$enc = New-Object System.Text.utf8encoding
Send-MailMessage -to $it -from $from -Subject $subject-bodyAsHTML $bodyMessage -smtpServer mx.dmosk.local -Encoding $enc
}
Get-TransportServer | ForEach {
Retry-Queue -Filter {Status -eq «Retry»}
}
Start-Sleep -s 300
Get-TransportServer | ForEach {
Get-Queue -Server $_.Name -Filter { MessageCount -gt $threshold_count } | ForEach {
Send-Alert
echo 2
break
}
}
Что происходит:
- Подключаемся к серверу Exchange с логином admin и паролем, хэш которого хранится в файле C:\Scripts\password.txt (заранее создан командой read-host -assecurestring | convertfrom-securestring | out-file C:\Scripts\password.txt).
- Форсируем запуск повторной отправки сообщений для всех очередей со статусом «Повторить».
- Ждем 5 минут (300 секунд).
- Проходим по транспортным серверам и ищем очереди с длинной более 100 сообщений. Если находим, отправляем письмо администратору и выводим на экран 2.
* важно отметить, что в случае проблем с почтой, письмо администратору может и не прийти. Именно для этого мы также выводим статус 2
Его можно проверять системой мониторинга, например Zabbix.
Автоматическая рассылка произвольных отчетов по электронной почте (обычные формы)
Очень часто возникает необходимость на регулярной основе получать отчеты из 1С, но не всегда есть возможность зайти в программу. Например, директору удобно каждое утро анализировать состояние основных показателей организации за чашечкой кофе, у себя дома, открывая отчеты в почте со смартфона или планшета.
В типовых конфигурациях на управляемых формах этот механизм достаточно хорошо реализован и имеет очень гибкую настройку. К сожалению, в конфигурациях на обычных формах приходится довольствоваться лишь рапортом руководителю, который предоставляет достаточно скудные возможности.
Поэтому был реализован ниже следующий функционал.
3 стартмани
Powershell
Powershell позволит автоматизировать некоторые задачи по работе с очередями.
Синтаксис:
Get-Queue <Параметры запроса>
Пример:
Get-Queue | fl
Примеры использования
Отобразить очереди, в которых более 50-и писем.
Get-Queue -Filter { MessageCount -gt 50 }
Посмотреть сообщения для конкретной очереди:
Get-Queue -Identity mx\615820 | Get-Message
* где mx\615820 — идентификатор очереди, который мы смотрим командой Get-Queue.
Посмотреть все очереди на всех транспортных серверах:
Get-TransportServer | ForEach { Get-Queue -Server $_.Name }
Подробная информация об очереди:
Get-Queue -Identity mx\615820 | Format-List
* где mx\615820 — идентификатор очереди, который мы смотрим командой Get-Queue.
Подробная информация о письмах в очереди от определенного отправителя:
Get-Message -Filter { FromAddress -like «user@dmosk.local» } | Format-List
Список отправителей для определенной очереди:
Get-Queue mx\726931 | Get-Message -ResultSize Unlimited | Select FromAddress
Список получателей:
Get-Queue mx\726931 | Get-Message -ResultSize Unlimited -IncludeRecipientInfo | Select Recipients
Очистить очередь
Удалить сообщения в очереди:
Get-Queue -Identity mx\Poison | Get-Message -ResultSize unlimited | Remove-Message -WithNDR $False
* где mx\Poison — название очереди.
Удалить все сообщения:
Get-Queue | Get-Message -ResultSize unlimited | Remove-Message -WithNDR $False
Удалить сообщение по фильтру:
Get-Queue | Get-Message -ResultSize unlimited | Where {$_.Subject -eq «Тема письма»} | Remove-Message -WithNDR $False
Повторная отправка очереди
Выполняется с помощью командлета Retry-Queue:
Retry-Queue -Filter {Status -eq «Retry»}
* данная команда принудительно повторит отправку всех сообщений, у которых активен статус «Повторить».
Для повторной отправки из очереди подозрительных сообщений, сначала смотрим письма:
Get-Message -Queue Poison
И повторяем попытку отправки с использованием идентификатора письма:
Resume-Message mx\Poison\162514
* где mx\Poison\162514 — полный идентификатор сообщения (mx — сервер, Poison — очередь, 162514 — id письма).
Приостановка очереди
Выполняется командлетом Suspend-Queue:
Suspend-Queue mx\173625
Остановить отправку сообщений, которые находятся в очереди с более чем 500 писем:
Suspend-Queue -Filter {MessageCount -ge 500 -and Status -eq «Retry»}
Подключение Outlook
- Вот как подключить Outlook к серверу Exchange:
- Зайдите в Панель управления.
- Откройте меню «Почта» в разделе «Учётные записи и безопасность».
- Кнопка «Учётные записи».
- Нажмите «Создать».
- Выберите службу и кликните «Далее».
- Опция «Параметры вручную».
- Отметьте пункт к ES.
- В поле «Сервер» введите exchange..
- В «Имя пользователя» напишите логин.
- Отметьте пункт «Использовать кэширование», если собираетесь заходить в почту с мобильных устройств.
- В открывшемся окне поставьте точку в «Автоматически определять состояние».
- Перейдите на вкладку «Подключение».
- Поставьте метку «По протоколу HTTP».
- Нажмите кнопку «Прокси-сервер».
- В поле «Адрес URL» напишите exchange..
- В списке «Способ проверки подлинности» выберите «Проверка NTLM».
- Нажмите «OK».
Создать подключение невозможно, если работает Outlook. Перед настройкой надо закрыть эту программу и завершить связанные с ней процессы.
Установка Exchange 2019
Начиная с Exchange 2016 Microsoft решила больше не разделять роли на Client Access и Mailbox (как это было в Exchange 2013). Соответственно, у Exchange 2019 только две роли – Mailbox и Edge. В Exchange 2013 Edge сервер также присутствовал. Роли Client Access и Mailbox объединены в одну роль – Mailbox.
На момент написания статьи самой последней версией была Exchange Server 2019 CU11. Однако, мы установим Exchange 2019 CU9, а в одной из следующий статей разберем процесс установки актуальной Update Rollup. Посмотреть актуальный список версий Exchange 2019 можно на сайте Microsoft.
Для Exchange 2013 и более новых версий для установки вы загружаете самый последний Cumulative Update и выполняете установку из него. Он уже содержит все необходимые файлы и все необходимые обновления.
Установка через графический мастер установки
Для того, чтобы установить Exchange через графический мастер установки выполните следующие шаги:
1. Запустить установщик из дистрибутива. Если вы еще не подготовили Active Directory, как было указано в предыдущем разделе, то учетная запись, от имени которой будет выполняться установка должна быть включена в следующие группы Active Directory: Schema Admins, Enterprise Admins и Domain Admins.
2. На шаге проверки обновлений укажем, что мы не будем проверять наличие последних обновлений:
3. На следующем шаге мастера нажмем “Next”.
4. При согласии принимаем лицензионное соглашение:
5. Укажем, что мы не планируем принимать участие в программе улучшения качества продукта:
6. Укажем, что мы будем устанавливать сервер почтовых ящиков:
7. Укажем директорию установки:
8. Мы не будем отключать сканирование на предмет вредоносного ПО:
9. Мастер установки Exchange 2019 выполнит проверку предварительных требований. Если какой-то пункт не будет выполнен, то мастер установки сообщит об этом. Нажимаем кнопку “Install”.
10. Дожидаемся окончания процедуры установки.
11. В случае успешного завершения установки мастер сообщит нам об этом:
12. Перезагружаем сервер.
Установка через командную строку
Вариант установки через командную строку гораздо более лаконичен.
Для того, чтобы установить Exchange через командную строку выполните следующие шаги:
1. Перейдите в директорию с дистрибутивом Exchange. Если вы еще не подготовили Active Directory, как было указано в предыдущем разделе, то учетная запись, от имени которой будет выполняться установка должна быть включена в следующие группы Active Directory: Schema Admins, Enterprise Admins и Domain Admins.
2. Запустите установку Exchange сервера (для версии Exchange 2019 ниже CU11):
Командлет для версии Exchange 2019 CU11 или выше:
3. Дождитесь окончания процесса установки.
4. Перезагрузите сервер.
Outlook: быстрая настройка уведомления об отсутствии через «Автоматические ответы»
Первый способ сделать себе автоответчик — настроить отправку автоматического ответа на входящие в Outlook с помощью функции «Автоматические ответы». Для этого не нужно лезть ни в какие специальные настройки. Нижеприведенный способ работает во всех актуальных версиях Outlook, но только для учетных записей на сервере Microsoft Exchange!
- Запустите Outlook и щелкните вкладку Файл в верхнем левом углу.
- В разделе Сведения нажмите на кнопку Автоматические ответы.
- Включите опцию Отправлять автоответы.
- Установите флажок Отправлять только в течение следующего периода и задайте даты начала и окончания рассылки. Если не вводить ничего, то автоматические ответы начнут отправляться прямо сейчас и до тех пор, пока вы не отключите опцию.
- Если вы используете Outlook для деловых целей, имеет смысл создать менее формальное сообщение для ваших коллег (В пределах организации) и более формальный для деловых контактов (За пределами организации). Введите текст сообщения для каждого из вариантов на соответствующей вкладке.
- В тексте рекомендуется указать дату окончания вашего отпуска или отсутствия. Также имеет смысл указать в уведомлении имя и адрес электронной почты человека, с которым ваш контакт может связаться по неотложным вопросам.
- Подтвердите создание уведомления об отсутствии, нажав ОК.
Теперь в указанный период на все входящие электронные письма будет даваться ответ, содержащий созданный вами текст.
Об Exchange server
Сервер позволяет совместно работать с контактами, задачами и другими сервисами mail. Можно создать почту с собственным доменом.
У Exchange server (ES) много версий, которые выпущены в разное время. В каждую из них Microsoft добавлял новые функции. Или удалял. Например, из программы 2003 года разработчики убрали поддержку мгновенных сообщений. Далее будет рассмотрена именно эта утилита. Настройка других её версий функционально ничем не отличается. Да и можно узнать, как поднять схему Exchange 2003 до актуальной.
В программе доступна работа с голосовой почтой, факсами, мобильными устройствами. На почтовый сервер можно выйти с любого компьютера, если есть подключение к интернету. Поддержка HTTP, POP3, SMTP, LDAP, IMAP 4, MAPI.
ES может взаимодействовать с другими утилитами компании Microsoft: ActiveSync, Windows Mail и Outlook. Работа утилиты тесно связана с компонентом Active Directory (AD).
Чтобы компьютер нормально работал с этой программой, у него должны быть подходящие характеристики. Они зависят от того, какая у него будет нагрузка и какой тип подключения планируется использовать. Вот системные требования для небольших фирм:
- 64-разрядная архитектура.
- 10 Гигабайт оперативной памяти. Прибавлять по 20 Мегабайт для каждого нового пользователя.
- 30 Гигабайт свободного места в винчестере.
- 200 Мегабайт памяти на системном диске.
Подходящие характеристики для разных Exchange server указаны на официальном сайте Microsoft. В больших организациях к почтовому серверу другие требования. Там нужно несколько компьютеров.
Почему письма висят в очереди
Помещение письма в очередь при отправке — обычный процесс в работе любого почтового сервера. Сообщения, которые успешно отправляются, сразу пропадают из очереди, но при возникновении проблем, система пытается совершить повторные попытки отправки, а письма могут долго висеть в этой очереди, пока не отправятся или не истечет установленный администратором срок.
Часто встречаемые проблемы, из-за которых письма висят в очереди
Причин, почему может не уходить почта довольно много. Проблема может быть на нашей стороне, стороне получателя, сбоев программного обеспечения, ошибок администрирования, агрессивного действия систем безопасности и много другое. Вот небольшой список часто возникающих проблем:
- 451 4.4.0 primary target ip address responded with… Ваш сервер не смог отправить сообщение на mx получателя (причина поясняется после with).
- 451 4.4.0 DNS query failed. Неудачная попытка при разрешении MX-записи в DNS. Выполните вручную nslookup с почтового сервера, чтобы убедиться в работоспособности запросов DNS.
- 450 4.7.1 Helo command rejected: Host not found. Получатель отказался принять от нашего сервера команду приветствия из-за того, что не может найти имя нашего сервера в DNS. Необходимо убедиться в правильности настройки последнего для соответствующей зоны (записи A и PTR).
- 451 4.7.0 Temporary server error. Please try again later. Как правило, ошибка связана с невозможностью разрешать записи в DNS. Ошибка может носить временный характер, а может возникнуть из-за неправильных настроек сети.
Время жизни сообщения в очереди
Посмотреть:
Get-transportserver MX | Select MessageExpirationTimeout
* где MX — имя транспортного сервера. По умолчанию, равен 2.00:00:00 (2 дня).
Поменять:
Set-TransportServer MX -MessageExpirationTimeout 3.00:00:00
* где MX — имя транспортного сервера.
Консоль управления Exchange (GUI)
Графическая консоль удобна для быстрого периодического осмотра очереди или поиска сообщения.
Просмотр
Запускаем Консоль управления Exchange — переходим в раздел Инструменты — кликаем по Средство просмотра очереди:
Откроется список почтовых доменов, на которые недавно были попытки отправить сообщения. В первую очередь, нас интересует колонки «Количество сообщений» и «Последняя ошибка» — для решения проблем смотрим их:
Описание колонок
-
Тип доставки — определяет способ отправки писем и следующее действие (или очередь), которое будет выполнено с пересылаемым письмом. Может быть:
- DNSConnectorDelivery. Доставка с помощью SMTP-соединителя, созданного на локальном сервере. Разрешение маршрутизации с помощью DNS.
- NonSmtpGatewayDelivery. Используется очередь для доставки с помощью локального коннектора. SMTP не используется.
- SmartHostConnectorDelivery. Доставка внешнему получателю с помощью SMTP-соединителя. Разрешение маршрутизации с использованием промежуточного узла.
- SmtpRelayWithinAdSitetoEdge. Отправка письма внешнему получателю с помощью соединителя SMTP, который находиться на пограничном транспортном сервере.
- MapiDelivery. Доставка локальным получателям.
- SmtpRelayWithinAdSite. Сообщения помещаются в очередь для доставки на транспортный сервер-концентратор, находящийся на том же узле Active Directory, что и локальный сервер.
- SmtpRelaytoRemoteAdSite. Сообщения помещаются в очередь для доставки на сервер, находящийся на удаленном узле Active Directory.
- SmtpRelaytoTiRg. Сообщения помещаются в очередь для доставки группе маршрутизации Exchange Server 2003.
- Undefined. Сообщения помещаются в очередь отправки, а следующий пункт назначения прыжка еще не определен.
- Unreachable. Эти сообщения помещаются в очередь «Недостижимо», и задать маршрут к получателю невозможно.
-
Состояние — состояние очереди для конкретного домена.
- Активно или Установка связи. Передача выполняется в данный момент.
- Приостановлено. Передача не выполняется, и не будет выполняться автоматически.
- Готово. Передача закончена, сообщений нет в очереди.
- Повторить. Передача не выполняется, повторные попытки будут предприняты в ближайшее время.
- Количество сообщений — отображает количество писем в очереди на отправку. Если 0, писем в очереди нет и в ближайшее время список должен пропасть. При наличии писем в очереди со статусами «Повторить» или «Приостановлено» говорит о том, что в результате отправки всех или некоторых писем до данного адресата, возникли ошибки.
- Время следующей попытки — дата и время, когда сервер отправит письмо. Как правило, можно увидеть со статусом «Повторить».
- Последняя ошибка — отображает код и текст последнее ошибки, которая возникла во время отправки сообщения.
Для поиска писем по критериям, возможно создать фильтр:
Возможные действия
Кликнув правой кнопкой мыши по списку очереди, мы получаем список возможных действий:
- Посмотреть сообщения — отобразит список писем, которые входят в очередь для данного адресата.
- Приостановить — не выполнять попыток отправлять письма.
- Удалить сообщения (с отправкой отчета о недоставке) — очередь чиститься, отправителю отправляется уведомление.
- Удалить сообщения (без отправки отчетов о недоставке) — очередь чиститься, отправителю ничего не отправляется.
Отслеживание писем в Exchange 2013
Мой подход к отслеживанию сообщений в Exchange вот такой:
- Получаем ID нужного письма с помощью Get-MessageTrackingLog.
- С помощью Log Parser 2.2 получаем детальный лог по конкретному письму.
Почему нельзя использовать только Get-MessageTrackingLog (ведь он умеет достаточно быстро искать по логам сразу на нескольких серверах)? У Get-MessageTrackingLog есть только одна неприятная особенность: в результатах он отдает записи из логов с некоторой временной меткой (TimeStamp), так вот коммандлет отдает эту метку с точностью до секунды, хотя в текстовых логах хранится время с точностью до тысячной секунды. Так вот многие операции происходят в течение одной единственной секунды, и из-за этого невозможно выстроить хронологию событий.
Именно поэтому мы будем обрабатывать логи через Log Parser 2.2. Это унивесальный парсер логов от Microsoft, который работает с языком SQL в качестве запросов.
Ищем письма с помощью Get-MessageTrackingLog
В составе Exchange 2013 есть замечательный коммандлет Get-MessageTrackingLog. Он позволяет найти нужное сообщение с использованием параметров в качестве фильтра. Самое подробное описание фильтрующих параметров смотрите вот тут: https://technet.microsoft.com/en-us/library/aa997573(v=exchg.150).aspx.
Вот пример, как использовать Get-MessageTrackingLog для поиска MessageId:
Скопируем MessageId и двигаемся дальше.
Пользуемся Log Parser 2.2 и Log Parser Studio
Во-первых нам нужно установить Log Parser 2.2 и Log Parser Studio (GUI для Log Parser 2.2). Вот ссылки:
- https://www.microsoft.com/en-us/download/details.aspx?id=24659 — Log Parser 2.2
- https://gallery.technet.microsoft.com/office/Log-Parser-Studio-cd458765 — Log Parser Studio
Устанавливаем обе программы и запускаем Log Parser Studio — LPS.exe.
Указываем пути, откуда брать логи (полезная статья на эту тему: Перемещаем логи Exchange 2013 из папок по умолчанию с помощью Powershell):
Обратите внимание: указываем логи сразу с двух серверов (если их два)!
Далее создаем новый запрос и устанавливаем тип лог-файлов — EELLOG. Сортировка — по времени.
SELECT * FROM '' WHERE message-id = '<MessageId>' ORDER BY
Выполняем запрос и получаем результат:
Ответ на сообщение электронной почты с помощью EWS
В следующем примере кода показано, как ответить на сообщение с помощью EWS. Используйте операцию CreateItem с атрибутомMessageDisposition , для параметра SendAndSaveCopy , чтобы отправить сообщение и сохранить ответ в папке Отправленные. Добавьте элемент ReplyAllToItem в качестве дочернего элемента Items , чтобы ответить всем пользователям в потоке сообщения, или включите элемент ReplyToItem , чтобы ответить только отправителю.
Это также XML-запрос, который отправляет управляемый API EWS при вызове метода Reply или CreateReply .
Сервер отвечает на запрос CreateItem сообщением CreateItemResponse , которое содержит значение элемента ResponseCodeNoError, указывающее, что ответ был успешно создан и отправлен.
Если необходимо добавить вложение в ответное сообщение, вызовите операцию CreateItem , как указано выше, но измените messageDisposition на SaveOnly. Затем вызовите операцию CreateAttachment , а затем операцию SendItem .
Установка
Чтобы установить и настроить утилиту, вначале надо загрузить ряд компонентов и сервисов.
- WWW Publishing.
- NET.
- SMTP и NNTP.
- NET Framework
- Windows 2003 Support Tools (цифры зависят от версии ES).
- Средства администрирования.
Если у вас есть диск или другой накопитель с Exchange server, запустите установку с него. Или найдите программу на сайте microsoft.com.
- Введите запрос в строку поиска (она справа сверху).
- Перейдите в раздел «Загрузки».
- Откройте страницу с нужной вам версией.
- Нажмите кнопку «Скачать».
- Откройте загруженный файл. Будут извлечены данные.
Перед тем как устанавливать ES сервер, надо подготовить AD. В Active Directory находится большая часть информации, которая связана с Exchange server 2003: контакты, учётные записи, конфигурации, атрибуты.
Если у вас нет группы, которая управляет директорией, и вы не планируете делать большое развёртывание, можете сразу переходить к инсталлятору. Он сможет всё настроить автоматически. Для работы с AD нужны права администратора.
- В распакованной папке с ES найдите файл setup.exe.
- Откройте командную строку Windows.
- Введите команду « /PrepareSchema /IAcceptExchangeServerLicenseTerms».
- Подождите, пока директория применит нужные параметры.
- Далее надо задать название организации для Microsoft Exchange server 2003. Напишите « /PrepareAD /OrganizationName:»Название организации» /IAcceptExchangeServerLicenseTerms». В имени компании могут быть только латинские символы, цифры, тире. Его нельзя изменить после установки.
Снова подождите.
Теперь подготовьте домены.
- Введите команду « /PrepareAllDomains /IAcceptExchangeServerLicenseTerms».
- Для выбора домена — « /PrepareDomain: /IAcceptExchangeServerLicenseTerms»
Инсталлятор делает всё это автоматически.
Чтобы увидеть результат работы, зайдите в редактор AD Service Interfaces. Найдите «Schema» («Схема»). Выберите свойство «rangeUpper». В «ms-Ex-Verision-Pt» должно быть написано значение для Microsoft Exchange server (это не версия программы 2003; значения можно узнать на официальном сайте Майкрософт).
Outlook: задание правила для уведомления об отсутствии
Если вы хотите использовать автоответчик Outlook дома, или в вашей организации нет Exchange, вы можете создать правило для отправки уведомлений об отсутствии. Это немного сложнее, но такое правило позволит вам отправлять разные письма об отсутствии разным получателям.
В зависимости от версии Office инструкции могут несколько отличаться, но общий принцип приведен ниже.
- Запустите Outlook и перейдите на вкладку Файл. На ней должна присутствовать категория Сведения.
- Нажмите Управление правилами и оповещениями. Откроется новое окно.
- На вкладке Правила для электронной почты находится пункт Новое. Выберите Применить правило к полученным мной сообщениям.
- Далее вы можете выбрать, каким группам отправителей следует направлять уведомление об отсутствии.
- Выберите учетную запись электронной почты, с которой будет отправляться автоответ (если вы управляете несколькими учетными записями в Outlook).
- В следующем окне определите, каким будет уведомление об отсутствии. Если вы хотите, чтобы отправлялся шаблонный ответ, выберите опцию ответа с использованием шаблона. Чтобы выбрать шаблон (файл Word), нажмите на синий выделенный текст (готовый шаблон).
- Нажмите ОК для сохранения нового правила.
Вы можете создать несколько правил, чтобы Outlook отвечал разным группам отправителей по разным шаблонам. Количество правил ограничено лишь числом групп отправителей.
- Как перенести контакты Gmail в Outlook: пара кликов и готово
- Как добавить напоминание в Outlook
- Что делать, если забыли пароль от Outlook
Фото: support.microsoft.com, pixabay.com
Заключение
В этой публикации была рассмотрена установка и первоначальная настройка Exchange 2019. Мы рассмотрели довольно тривиальный вариант развертывания, но именно он позволит вам понять основные шаги на всех этапах установки. Мы рассмотрели предварительную подготовку инфраструктуры Active Directory для установки первого сервера Exchange. Далее мы выполнили непосредственно установки нашего первого сервера Exchange. В заключении мы настроили минимальные основные параметры Exchange, чтобы наш сервер электронной почты мог как отправлять электронную почту во внешний мир, так и принимать электронную почту из сети Интернет.
Надеюсь, что статья будет вам полезна, а в следующих публикация мы рассмотрим процесс обновления сервера Exchange – установку актуального Update Rollup и обновлений безопасности Exchange.