CommuniGate Pro
Версия 6.2
Почта
 
 
Обзор

Передача Почты

Одной из основных функций Сервера CommuniGate Pro является передача сообщений электронной почты. Действуя как MTA (Агент по Передаче Почты), Сервер получает сообщения из различных источников (модули, внутренние компоненты и т.д.) и доставляет (передаёт) эти сообщения в удалённые или локальные места назначения, задействуя те или иные модули.

Все полученные сервером сообщения хранятся как отдельные файлы в директории Queue, находящейся внутри "директории данных" CommuniGate Pro; каждое сообщение может быть поставлено в несколько разных очередей на доставку (если оно имеет несколько получателей). Каждый коммуникационный модуль может обслуживать одну или несколько логических очередей. Например, SMTP модуль обслуживает одну очередь для каждого домена в Интернет.

Источники и Места назначения Сообщений

Сервер CommuniGate Pro использует следующий набор источников сообщений:

Сервер CommuniGate Pro передаёт сообщения по следующим местам назначения:

Следующая диаграмма иллюстрирует потоки сообщений в Сервере CommuniGate Pro:
Схема Передачи

Отправление Сообщений

Все сообщения создаются как временные файлы. Они хранятся в директории Queue как файлы с расширением .tmp. Модуль или внутренний компонент сохраняет конверт сообщения и само сообщение в таком файле и затем поставляет его на обработку компоненту Установка в Очередь.

Конверт сообщения состоит из набора текстовых строк. Каждая строка содержит либо обратный адрес, либо один из адресов получателей, либо опции доставки сообщения.

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

Если создание сообщения завершилось успешно, и оно Установлено в Очередь, то расширение файла меняется на .msg, и сообщение ставится на обработку.

При перезапуске Сервера, компонент Установка в Очередь находит все файлы с расширением .msg в директории Queue и перепоставляет их на обработку.

Откройте в разделе Установки Веб Интерфейса Администратора CommuniGate Pro страницу Общее, затем на странице Прочее найдите панель Временные Файлы:

Временные Файлы
Уровень Журнала:
Использовать старые:
Уровень Журнала
Используйте эту настройку для того, чтобы указать какую информацию модуль Временные Файлы должен сохранять в Журнале работы Сервера. Обычно используется уровень Сбои (отчёты об ошибках файловой системы). В случае возникновения с каким-либо модулем проблем при поставке сообщений, возможно, целесообразным будет увеличить детализацию до уровня Подробности или Всё: в этом случае в Журнал работы Сервера будет так же записываться подробная информация обо всех файловых операциях ввода/вывода. Когда проблема решена, верните настройку Уровень Журнала для Временных Файлов в её обычное значение, иначе Системный Журнал будет очень быстро увеличивать свой размер.

Записи, помещаемые в Системный Журнал Сервера модулем Временные Файлы имеют метку TEMPFILE.

Использовать старые
Для того, чтобы увеличить производительность вашей системы под большой нагрузкой, включите эту опцию: выкинутые временные файлы не будут удаляться, а будут использоваться повторно.

Ограничение Длины Очереди и Файловая Структура

Если Сервер работает под большой загрузкой, то в директории Queue могут находиться тысячи файлов с сообщениями. Большое количество операционных и файловых систем не умеют эффективно обрабатывать такие большие директории. Возможно, вы захотите разбить директорию Queue на несколько поддиректорий, в каждой из которых будет находиться часть Временных файлов и файлов с сообщениями Очереди.

Возможно, вы захотите ограничить общее число сообщений в Очереди CommuniGate Pro. При достижении ограничения, модуль будет отвергать попытки поставить новые сообщения.

Для того, чтобы задать опции обработки Очереди, используйте Веб Интерфейс Администратора. Откройте страницу Почта в разделе Установки, затем откройте страницу Очередь:

Почтовая Очередь
Уровень Журнала:   
Ограничение Длины Очереди: Под-директории Очереди:
Ограничение Длины Очереди
Если вы указываете в этой опции ограничение, то модули CommuniGate Pro (SMTP, PIPE, RPOP, MAPI, WebUser) будут останавливать попытки приёма новых сообщений в Очередь, число сообщений в которой превышает указанный лимит.
Под-директории Очереди
Эта настройка указывает, где Сервер CommuniGate Pro будет создавать новые Временные файлы, и, как следствие, как файлы сообщений будут сохранятся в директории Queue.
Если вы выберите значение 0 (ноль), то поддиректории в директории Queue создаваться не будут, и Временные файлы будут помещаться непосредственно в директорию Queue.
Если вы выберите значение 10 или 100, то в директории Queue будут создаваться поддиректории с именами NN (где NN является двухзначным числом от 00 до 99). Вновь создаваемые Временные файлы будут помещаться внутри этих поддиректорий. Сервер будет использовать 10 или 100 поддиректорий, в зависимости от значения настройки.
Если вы выберите значение Автомат, то поддиректории в Queue будут использоваться для более чем 5000 сообщений.

Маршрутизация

Когда сообщение поставляется на обработку, компонент Установка в Очередь проверяет информацию, содержащуюся в его конверте. Каждый адрес получателя разбирается и передаётся в компонент Маршрутизатор. Компонент Маршрутизатор решает, какой модуль или компонент должен обрабатывать каждый адрес получателя.


Установка в Очередь

После того, как все адреса получателей разобраны и маршрут для них определён, компонент Установка в Очередь применяет к сообщению Общесерверные Правила. Затем он передаёт сообщение в модули, указанные компонентом Маршрутизатор.

Коммуникационные модули не обрабатывают сообщения электронной почты немедленно, а устанавливают их в соответствующую очередь модуля. Модуль SMTP создаёт и обслуживает очередь для каждого домена в Интернет, модуль Местной Доставки создаёт и обслуживает очередь для каждого локального Пользователя, и т.д.

Компонент Установка в Очередь может ставить сообщения в очередь:

Большинство внутренних компонентов ставит сообщения в очередь асинхронно, так как они сами не могут предпринять никаких осмысленных действий в случае, если сообщение отвергается компонентом Установка в Очередь. Компоненты, получающие сообщения непосредственно от пользователей или от удалённых систем (SMTP, MAPI, WebMail, XIMSS) пытаются ставить сообщения в очередь синхронно, так что если сообщение отвергается компонентом Установка в Очередь, то агент, поставляющий сообщение (пользователь или удалённая система) сможет получить уведомление об ошибке.

Для того, чтобы настроить параметры модуля Установка в Очередь, используйте Веб Интерфейс Администратора. Откройте страницу Очередь в области Установки.

Установка в Очередь
Уровень Журнала: Обработчики:
Ограничение Числа 'Received': Ставить Асинхронно, если Отправители:
Уровень Журнала
Используйте эту настройку, чтобы указать какую информацию компонент Установка в Очередь должен сохранять в Журнале работы Сервера. Обычно используется уровень Сбои (отчёты об ошибках файловой системы).
Записи, помещаемые в Системный Журнал Сервера модулем Установка в Очередь, имеют метку ENQUEUER.
Ставить Асинхронно
Используйте эту настройку для указания того, когда должен использоваться асинхронный режим постановки в очередь:
любые
всегда используется асинхронный режим
никто
никогда - всегда используется синхронный режим
аутентифицированные
используется только для сообщений, полученных от аутентифицированных источников (SMTP AUTH, AIRSYNC, MAPI, Веб Почта, XIMSS, и т.д.)
неутентифицированные
используется только для сообщений, не полученных от аутентифицированных источников
клиенты
используется только для сообщений, полученных от аутентифицированных источников или с IP адресов, включённых в список Клиентских.
не-клиенты
используется только для сообщений, полученных ни от аутентифицированных источников, ни с IP адресов, включённых в список Клиентских.
Обработчики
Используйте эту настройку для указания числа обработчиков (нитей) Установки в Очередь.
Если опция Ставить Асинхронно не выбрана, то нити при Установки в Очередь используются только для установки в очередь существующих сообщений после перезапуска Сервера и для установки в очередь сообщений, созданных внутренними компонентами Сервера, то что вам будет вполне достаточно 2-3 нитей.
Если опция Ставить Асинхронно выбрана, то каждое сообщение обрабатывается нитью Установки в Очередь. В этом случае, 10-20 нитей, обслуживающих Установку в Очередь, будет достаточно даже для сильно загруженного Сервера.

Вы должны увеличить число обработчиков Установки в Очередь, если:

  • задано очень много Общесерверных Правил;
  • Общесерверные Правила используют действие Выполнить для запуска внешних программ;
  • включён один или более Внешних Фильтров (антивирусов, фильтрация данных и т.п.);
  • входящая загрузка очень высока, и через SMTP и другие модули на Сервер поступает большое количество сообщений в секунду.

Элемент numEnqueuerMessages SNMP показывает число сообщений, которое было получено, но ещё не установлено в очередь. Если это число растёт, то вам необходимо увеличить число обработчиков Установки в Очередь.
Ограничение Числа 'Received'
Сообщение, принятое любым хостом или модулем, получает дополнительное поле заголовка Received:. Число 'Received' - это число полей заголовка Received: в сообщении. Если сообщение содержит слишком много полей заголовка Received:, это может являться косвенным указанием на то, что сообщение попало в почтовую петлю. Этот параметр задаёт Ограничение на число полей заголовка 'Received' - любое сообщение, в котором содержится большее, чем указано в этой настройке, числе заголовков 'Received', отвергается при Установке в Очередь без какой-либо попытки доставить его получателям, указанным в конверте сообщения.

Откладывания и Задержки

Если коммуникационный модуль не может доставить сообщение, то он использует компонент ядра по управлению очередями, чтобы отложить обработку.


Удаление из Очереди

Когда коммуникационный модуль передаёт сообщение, или когда он отвергает сообщение из-за фатальной ошибки, он так же удаляет сообщение из очереди модуля. Модуль формирует отчёт о доставке и передаёт его компоненту Удаление из Очереди.

Компонент Удаление из Очереди обрабатывает информацию о доставке. Если необходимо, он формирует Уведомление о Статусе Доставки (DSN) и поставляет его обратно в систему для доставки отправителю оригинального сообщения. Если сообщение имеет несколько получателей, то компонент Удаление из Очереди может решить отложить создание DSN сообщения, чтобы в каждом DSN сообщении могли содержаться отчёты о нескольких получателях.

Когда все получатели сообщений обработаны и сообщение удаляется из всех очередей, компонент Удаление из Очереди удаляет файл сообщения из директории Queue.

Для того, чтобы настроить параметры компонента Удаление из Очереди, используйте Веб Интерфейс Администратора. Откройте страницу Очередь в разделе Установки.

Удаление из Очереди
Уровень Журнала: Обработчики:
Задержка Оповещения: Возвращать 'Return-Receipts', если Отправители:
При неудаче возвращать: Журнал Доставки:
Копии Оповещений о Неудачах к: Разрешить Отмену Сообщений:
Уровень Журнала
Используйте эту настройку для того, чтобы указать какую информацию компонент Удаление из Очереди должен сохранять в Журнале работы Сервера. Обычно используется уровень Основное (отчёты о доставке).
Записи, помещаемые в Системный Журнал Сервера модулем Удаление из Очереди, имеют метку DEQUEUER.
Обработчики
Используйте эту настройку для указания числа обработчиков (нитей) Удаления из Очереди. Обычно одной нити Удаления из Очереди достаточно даже для высоко загруженного сервера. Только в случае, если ваш Сервер выполняет некоторую специальную обработку сообщений и может генерировать много DSN сообщений, вы должны использовать несколько нитей Удаления из Очереди.
Задержка Оповещения
Используйте эту настройку для указания максимальной задержки между моментом, как сообщение передано (или передача закончилась неуспешно) и генерацией уведомления о доставке. Чем больше задержка, тем больше уведомлений могут быть помещены в одно DSN сообщение. DSN сообщение генерируется сразу после того, как обработан последний получатель, указанный в сообщении.
При неудаче, возвращать
Используйте эту настройку для указания того, какая часть неуспешного сообщения должна быть включена в DSN сообщение (отчёт об ошибке).
  • Если отправитель не указал эту опцию явно, и выбрана опция Заголовки (по умолчанию) то будут возвращаться только заголовки неуспешных сообщений;
  • Если отправитель не указал эту опцию явно, и выбрана опция Тело (по умолчанию) то будет возвращаться всё неуспешное сообщение полностью;
  • Если выбрана опция Заголовки (всегда), то в DSN сообщение включаются только заголовки, даже если отправитель сообщения указал, что при неудаче должно возвращаться всё сообщение полностью;
  • Если выбрана опция Тело (всегда), то в DSN сообщение включаются всё сообщение, даже если отправитель сообщения указал, что при неудаче должны возвращаться только заголовки сообщения.
Копии Оповещений о Неудачах к
Когда эта опция включена, все сообщения об ошибках, созданные компонентом Удаление из Очереди, отправляются как по обратному адресу неуспешного сообщения, так и на указанный адрес электронной почты.
Возвращать 'Return-Receipts'
Положительные уведомления (уведомления о доставке и уведомления о ретрансляции) генерируются, только если отправитель сообщения затребовал их. Используйте эту настройку для указания того, кто может требовать такие уведомления:
всем уведомления генерируются и отправляются для любого затребовавшего их отправителя сообщения.
клиентам уведомления генерируются и отправляются если сообщение было отправлено с Сетевого Адреса Клиента или если сообщение было отправлено аутентифицированным пользователем.
аутентифицированным уведомления генерируются и отправляются если сообщение было отправлено аутентифицированным пользователем (через Веб Интерфейс Пользователя, XIMSS, SMTP AUTH, MAPI, и т.д.)
никому положительные уведомления не генерируются.
Журнал Доставки
Если эта опция включена, то компонент Удаления из Очереди помещает запись о каждой доставке в Дополнительный Журнал доставки
Разрешить Отмену Сообщений
Если эта опция включена, то Сервер обрабатывает письма с заголовком X-Special-Delivery: recall и пытается отменить доставку отозванных сообщений.

Наблюдение за Очередью

Передающие модули (такие как SMTP, Местной Доставки, LIST и PIPE) обслуживают одну или несколько очередей для доставляемых сообщений. Каждый модуль использует свой собственный метод для построения очередей (например, SMTP модуль обычно строит отдельную очередь для каждого удалённого домена, на который он осуществляет доставку, а модуль Местной Доставки строит отдельную очередь для каждого локального Пользователя); дополнительные подробности смотрите в описании каждого модуля.

Чтобы открыть очередь модуля, нажмите на ссылку с именем очереди на странице Наблюдения за этим модулем. Откроется страница наблюдения за очередью модуля ("хоста"):

  Показано 2 из 2

МодульСостояниеПоследняя Проблема
SMTP Processing no response

Письмо В очереди Return Path Получатели Размер Отложено Последняя Проблема
44220010 5 мин <system_admin@domain.dom> 2 634
44220003 15 мин <user2@domain3.dom> 1 26K
Заголовок таблицы содержит информацию обо всей очереди ("хост"):
Модуль
Ссылка на страницу Наблюдения за модулем, которому принадлежит эта очередь.
Состояние
Активно - эта очередь обрабатывается модулем.
Готово - очередь может обрабатываться модулем в любое время.
Отложено время - эта очередь не будет обрабатываться модулем до наступления указанного времени. Очередь может быть отложена из-за того, что при операции передачи произошла ошибка для всей очереди (SMTP хост не ответил или локальный Пользователь превысил квоту и т.д.)
Последняя Проблема
Это поле показывает последнюю ошибку передачи, произошедшую в этой очереди.

В таблице имеется запись для каждого сообщения в очереди. Для каждого сообщения в очереди, показываются следующие информационные поля:

Письмо
Внутренний идентификационный номер сообщения. Вы можете использовать эту ссылку, чтобы открыть страницу Наблюдения за Сообщением.
В очереди
Время, в течение которого сообщение находится в этой очереди.
Return Path
"Return-Path" адрес из конверта сообщения.
Получатели
Число адресов сообщения, которые должны быть доставлены "хостам", для которых была создана эта очередь. Например, сообщение, направляемое по адресам user1@company.dom и user2@company.dom через SMTP, появится в очереди SMTP для company.dom, с числом адресов, равным 2.
Размер
Размер сообщения.
Отложено и Последняя Проблема
Если доставка конкретного сообщения заканчивается неуспешно, то модуль Передачи может отложить это сообщение индивидуально (не задерживая всю очередь, в которой оно находится). В этом случае в этом поле показывается время, когда модуль снова попытается доставить сообщение, а в поле Последняя Проблема показывается причина, из-за которой операция передачи закончилась неуспешно.

Если вы имеете право доступа Может перезапускать Почтовые Очереди, и очередь имеет состояние Отложено, то на странице Наблюдения за Очередями появится кнопка Отпустить Очередь. Нажмите на эту кнопку, чтобы снять время задержки, установленное для этой очереди и позволить модулю обрабатывать эту очередь немедленно.

Если вы имеете право доступа Может отвергать Почтовые Очереди и очередь имеет состояние Отложено, то на странице Наблюдения за Очередями для хоста появится кнопка Отвергнуть Очередь. Нажмите на кнопку, чтобы отвергнуть очередь:

Подавить сообщения о Неудачной Доставке

Указанный текст используется для генерации DSN сообщений (уведомлений об ошибках) для всех сообщений, помещаемых в эту очередь.

Если выбрана опция Подавить сообщения о Неудачной Доставке, то когда сообщения из очереди отвергаются, DSN сообщения не генерируются.


Наблюдение за Сообщением

Для того, чтобы наблюдать за состоянием сообщения в Очереди Сервера, нажмите на соответствующую ссылку на сообщение, находящуюся в очереди Модуля (или находящуюся на другой странице Наблюдения). Откроется страница Наблюдения за Сообщением:

Отправитель:usual.suspect@domain1.dom
Return-Path:<user@mail.communigate.com>
Message-ID:<list-26325892@mail.communigate.com>
Тема:Re: FormMail.pl configured for CGP
Размер:37222 (34018 в конверте)
В очереди:Mon, 03 Dec 2014 09:16:58 -0800 (12 часов)

Получатель Модуль Очередь Состояние Повторить через
postmaster@domain1.domSMTPdomain1.domОтложено24 мин
john.smith@domain2.domSMTPdomain2.domОтложено57 мин

Первая часть страницы показывает атрибуты письма: Return-Path, Message-ID, Envelope-ID (если есть), Тему сообщения и время, когда сообщение было поставлено в очередь на Сервере.

Строка Отправитель содержит имя Пользователя, отправившего письмо, если оно было отправлено аутентифицированным пользователем.

На второй части страницы показываются все активные адреса получателей сообщения (если адрес сообщения уже был обработан, то он не показывается). Для каждого адреса показывается следующая информация:

Получатель
Адрес получателя.
Модуль
Имя модуля, в котором будет обрабатываться адрес. Оно так же является ссылкой на страницу Наблюдения модуля.
Очередь
Имя очереди модуля, в которой находится этот адрес. Оно так же является ссылкой на страницу Наблюдения за очередью модуля.
Состояние
Обрабатывается - модуль обрабатывает этот адрес.
Готово - модуль может начать обработку адреса в любое время.
Задержано - модуль отложил обработку этого сообщения.
Отложено - модуль отложил обработку всей очереди, в которой содержится этот адрес.
Повторить через
Время, через которое модуль продолжит обработку этого сообщения или очереди, содержащей это сообщение.

Если вы имеете право доступа Может отвергать Почтовые Очереди, то на странице Наблюдения будет находится кнопка Отвергнуть Письмо. Нажмите на эту кнопку, чтобы отвергнуть все активные адреса сообщения.

Если Сообщение было отправлено аутентифицированным пользователем, нажмите кнопку Отвергнуть Все Письма Отправителя, чтобы отвергнуть все сообщения от этого отправителя из Очереди:.

Подавить сообщения о Неудачной Доставке

Отвергаются только те адреса, которые не обрабатываются в настоящее время.

Указанный текст используется для генерирования DSN сообщений (уведомлений об ошибках) для всех отвергнутых адресов получателей.

Если выбрана опция Подавить сообщения о Неудачной Доставке, то когда адреса сообщения отвергаются, DSN сообщения не генерируются.

Если вы имеете право доступа Может видеть содержимое Почты в Очереди, то на странице Наблюдения за Сообщением содержится содержимое Сообщения (оно показывается с использованием Безымянного Стандартного Вида Интерфейса).

От Кого: "User Name" <userName@server.dom>
Тема: Некоторая Тема
Дата: Fri, 07 Dec 2007 02:56:41 -0800
Message-Id: <web-12490003@server.dom>
X-Mailer: CommuniGate Pro WebUser v6.1.8
TEST - TEST TEST

--
Это письмо является тестовым письмом с приложением.

Руководство CommuniGate® Pro. Copyright © 1998-2017, Stalker Software, Inc.