Exim 27 Транспорт autoreply

Материал из wiki.lissyara.su
Перейти к: навигация, поиск

Транспорт autoreply

Транспорт “autoreply” - не истинный транспорт, в нём не происходит передачи сообщения. Вместо этого, генерируется новое почтовое сообщение, как автоматический ответ на входящее сообщение. Включаются строки заголовков “References:” и “Auto-Submitted:”. Они создаются согласно правилам в RFC 2822 и RFC 3834, соответственно.

Если в роутере передающем сообщение этому транспорту не установлена опция “unseen”, оригинальное сообщение (для текущего получателя), не доставляется куда-либо. Однако, когда в роутере передающем сообщение этому транспорту установлена опция “unseen”, роутинг адреса продолжается таким образом, чтобы другой маршрутизатор мог выполнить нормальную доставку.

Транспорт “autoreply”, обычно, запускается как результат почтовой фильтрации, “отпускные” сообщения (видимо, автоответ пока человек в отпуске - прим lissyara), - являются стандартным примером. Однако, также он может быть выполнен напрямую из роутера, как и любой другой транспорт. Для уменьшения возможных каскадов сообщений, сообщения созданные транспортом “autoreply” всегда имеют пустого отправителя, как и рикошеты.

Параметры посылаемого сообщения могут быть заданы в конфигурации путём описанных ниже опций. Однако, они используются лишь когда адрес, передаваемый транспорту, не содержит собственной информации ответа. Когда транспорт выполняется как следствие команды “mail” или “vacation” в файле фильтра, параметры сообщения, переданные фильтром, передаются вместе с адресом. Транспортные опции, определяющие сообщение, в таком случае игнорируются (таким образом, обычно, в этом случае они не устанавливаются). Сообщение полностью определено фильтром, или транспортом; они никогда не состоят из смеси этих опций. Однако, опции “file_optional”, “mode” и “return_message” применяются во всех случаях.

Транспорт “autoreply” осуществляется как локальный транспорт. При использовании его как результат команды в пользовательском файле фильтра, “autoreply”, обычно работает под uid и gid пользователя, и с соответствующими текущей и домашней директориями (смотрите главу 23).

Есть трудноуловимое различие между роутингом сообщения в транспорт “pipe”, который генерит некий текст для возвращения отправителю, и роутингом его в транспорт “autoreply”. Это различие заметно лишь если обрабатывается более одного адреса в одном сообщении. В случае “pipe”, раздельные выводы от различных адресов собираются и возвращаются отправителю в одном сообщении, тогда как при использовании “autoreply” для каждого адреса генерируются различные сообщения для передачи.

Непечатные символы не разрешены в строках заголовков сгенерённых для сообщения созданного “autoreply”, за исключением символа новой строки, немедленно сопровождаемого пробелом. Если найдены любые непечатные символы, транспорт задерживается. Глобальная опция “print_topbitchars” управляет считать ли символы с установленным высшим битом как печатные, или нет. Они не применяются непосредственно к сгенерённому сообщению.

Если любые из общих опций для манипуляции заголовками (например, “headers_add”) установлена в транспорте “autoreply”, они применяются к копии оригинального сообщения, включённой в сгенерированное сообщение, когда установлена “return_message”. Они не применяются непосредственно к сгенерированному сообщению.

Если транспорт “autoreply” получает от exim код возврата 2 при предоставлении сообщения, указывая, что не было получателей, это не обрабатывается как ошибка. Это означает, что автответы посылались на “$sender_address” когда она была пуста (поскольку входящее сообщение - рикошет), не вызывая проблем. Они лишь отбрасываются.

Частные опции для “autoreply”

Имя Использование Тип Дефолтовое значение
bcc autoreply string† незадана

Этим определяются адреса которые должны получать “слепые копии” (“blind carbon copies”) сообщений, когда сообщение определено транспортом.


Имя Использование Тип Дефолтовое значение
cc autoreply string† незадана

Этим определяются получатели сообщения и содержимое заголовка “Cc:”, когда сообщение определено транспортом.


Имя Использование Тип Дефолтовое значение
file autoreply string† незадана

Содержимое файла посылается как тело сообщения, когда сообщение определено транспортом. Если установлены обе опции - “file” и “text”, более важна текстовая строка.


Имя Использование Тип Дефолтовое значение
file_expand autoreply boolean ложь

Если это установлено, содержимое указанного опцией “file” файла подвергается раскрытию строк, и они добавляются в сообщение.


Имя Использование Тип Дефолтовое значение
file_optional autoreply boolean ложь

Если эта опция истинна, не генерируется ошибка, если файл названный в опции “file”, или пришедший с адресом не существует, или нечитаем.


Имя Использование Тип Дефолтовое значение
from autoreply string† незадана

Этим определяется содержимое заголовка “From:”, когда сообщение определено транспортом.


Имя Использование Тип Дефолтовое значение
headers autoreply string† незадана

Этим определяются дополнительные заголовки, согласно RFC 2822, которые должны быть добавлены к сообщению, когда сообщение определено транспортом. Можно задать несколько, путём использования “\n” для их разделения. Проверка их формата отсутствует.


Имя Использование Тип Дефолтовое значение
log autoreply boolean незадана

Имя этой опции - файл, в который записывается каждое посланное сообщение, когда сообщение определено транспортом.


Имя Использование Тип Дефолтовое значение
mode autoreply octal integer 0600

Этот режим используется если создаётся файл логов, или файл “once”.


Имя Использование Тип Дефолтовое значение
never_mail autoreply address list† незадана

Если любой запуск транспорта создаёт сообщение с получателем, который совпадает с любым элементом в этом списке, от этого получателя тихо отказываются. Если отвергнуты все получатели, не создаётся никакого сообщения. Это применяется и когда получатели сгенерированы фильтром, и когда они заданы в транспорте.


Имя Использование Тип Дефолтовое значение
once autoreply string† незадана

Эта опция - имя файла или БД DBM в которой сохраняются записи каждого “To:” получателя, когда сообщение определено транспортом. Отметьте: Это не применяется к получателям “Cc:” и “Bcc:”.

Если “once” незадана, или установлена в пустую строку, сообщение всегда шлётся. По умолчанию, если “once” установлена в непустое имя файла, сообщение не шлётся, если потенциальный получатель уже перечислен в БД. Однако, если опция “once_repeat” определяет время более нуля, сообщение посылается, если прошло столько времени с тех пор как было послано последнее сообщение этому получателю. Установка нулевого времени в “once_repeat” (по умолчанию) препятствует повторной отсылке сообщения - в этом случае, ноль - указание бесконечности.

Если “once_file_size” - ноль, база данных DBM используется для запоминания получателей, и этим ей позволяется быть любого необходимого размера. Если “once_file_size” установлена более нуля, это изменяет способ, которым exim осуществляет опцию “once”. Вместо использования DBM базы для записи каждого получателя, он использует регулярный файл, который никогда не будет больше установленного размера.

В файле, exim хранит линейный список адресов получателей и времён, когда было послано сообщение. Если файл полон при необходимости добавить новую запись, удаляется самый старый адрес. Если “once_repeat” не установлена, это означает, что данный получатель может получать много сообщений, но в непредсказуемых интервалах, зависящих от частоты оборота адресов в файле. Если установлена “once_repeat”, она определяет максимально время между повторениями.


Имя Использование Тип Дефолтовое значение
once_file_size autoreply integer 0

Смотрите выше, опцию “once”.


Имя Использование Тип Дефолтовое значение
once_repeat autoreply time† 0s

Смотрите выше, опцию “once”. После раскрытия, значение этой опции должно быть допустимым значением времени.


Имя Использование Тип Дефолтовое значение
reply_to autoreply string† незадана

Этой опцией определяется содержимое заголовка “Reply-To:”, когда сообщение определено транспортом.


Имя Использование Тип Дефолтовое значение
return_message autoreply boolean ложь

Если эта опция установлена, копия оригинального сообщения возвращается с новым сообщением, максимальный размер подчиняется установке глобальной конфигурационной установке “return_size_limit”.


Имя Использование Тип Дефолтовое значение
subject autoreply string† незадана

Эта опция определяет содержимое заголовка “Subject:”, когда сообщение определено транспортом. Это позволяет указывать оригинальную тему сообщения в автоматических ответах. Например:

subject = Re: $h_subject:

Однако, при выполнении этого существует опасность. Это может позволить третьему лицу подписать ваших пользователей на списки рассылки, при условии, что список принимает рикошеты как подтверждение подписки. Хорошие списки требуют, чтобы подписка подтверждалась не сообщением рикошета, таким образом, опасность относительно невелика.


Имя Использование Тип Дефолтовое значение
text autoreply string† незадана

Этой опцией определяется одна строка, которая будет использоваться как тело сообщения, когда сообщение определено транспортом. Если заданы и “text” и “file”, вначале используется “text”.


Имя Использование Тип Дефолтовое значение
to autoreply string† незадана

Этой опцией определяются получатели сообщения, и содержимое заголовка “To:”, когда сообщение определено транспортом.


translated by lissyara