Для просмотра этого сайта включите поддуржку JavaScript.

Сервер сообщений MDaemon 23.0

Навигация: Меню учетных записей > Настройки учетной записи > Автоответчики

Создание автоответов

Прокрутить Назад Начало Далее Больше

Файлы OOF.mrk представляют собой простые текстовые файлы ASCII, содержащиеся в корневом каталоге каждого пользователя\data\, в котором определяются сообщения, возвращаемые автоответчиком. Когда автоответчик отправляет автоответ, файл обрабатывается и сканируется на наличие макросов, которые затем заменяются фактическими данными из входящего сообщения, инициировавшего автоответ. Строки, начинающиеся символом "#", игнорируются и используются для комментариев. Два образца сообщений указаны ниже.

Макросы автоответчика

$HEADERS$

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

$HEADER:XX$

При использовании этого макроса в сообщение будет вставлено содержимое заголовка, указанного вместо "xx". Например:  если во входящем сообщении был заголовок "КОМУ: joe@example.com", то макрос$HEADER:TO$будет раскрыт в "joe@example.com". Если в оригинальном сообщении был заголовок "SUBJECT: This is the subject", то макрос$HEADER:SUBJECT$ будет заменен текстом "This is the subject".

$BODY$

Вместо этого макроса подставляется полный текст тела письма. Чтобы попытаться сохранить наборы символов для других языков, MDaemon будет читать тело письма как двоичные данные, а не как текст, что позволяет точно скопировать тело письма "байт в байт".

$BODY-AS-TEXT$

Как и с макросом $BODY$, вместо этого макроса будет подставлен полный текст сообщения, только в виде текста, а не в двоичном виде. Текст, предшествующий этому макросу, будет повторяться в начале каждой раскрываемой строки. Таким образом, при использовании в скрипте макроса ">>$BODY-AS-TEXT$" в генерируемое сообщении будут вставлены все строки исходного письма, но каждая строка будет начинаться с символов ">>". Также можно добавить текст справа от этого макроса.

$SENDER$

Этот макрос преобразуется в полный адрес электронной почты, записанный в заголовке "От:".

$SENDERMAILBOX$

Этот макрос преобразуется в имя почтового ящика отправителя. Имя почтового ящика - это часть адреса электронной почты слева от символа "@".

$SENDERDOMAIN$

Этот макрос преобразуется в имя домена отправителя. Доменное имя - это часть адреса электронной почты справа от символа "@".

$RECIPIENT$

Этот макрос преобразуется в полный адрес получателя письма.

$RECIPIENTMAILBOX$

Этот макрос преобразуется в имя почтового ящика получателя сообщения.  Имя почтового ящика - это часть адреса электронной почты слева от символа "@".

$RECIPIENTDOMAIN$

Этот макрос преобразуется в доменное имя получателя сообщения.  Доменное имя - это часть адреса электронной почты справа от символа "@".

$SUBJECT$

Этот макрос преобразуется в значение заголовка "Тема:".

$MESSAGEID$

Этот макрос преобразуется в значение заголовка "Message-ID".

$CONTENTTYPE$

Этот макрос преобразуется в значение заголовка "Content-Type".

$PARTBOUNDARY$

Этот макрос преобразуется в значение MIME "Part-Boundary", найденное в заголовке "Content-Type" для сообщений из нескольких частей.

$DATESTAMP$

Этот макрос раскрывается в строку с меткой даты-времени в стиле RFC-2822.

$ACTUALTO$

Некоторые сообщения могут содержать поле "ActualTo", которое представляет почтовый ящик получателя и хост в том виде, в котором они были заданы оригинальным пользователем, до переформатирования или трансляции алиасов. Данный макрос преобразуется именно в это значение.

$ACTUALFROM$

Некоторые сообщения могут содержать поле "ActualFrom", которое представляет почтовый ящик и хост источника сообщения до переформатирования или трансляции алиасов. Данный макрос преобразуется именно в это значение.

$REPLYTO$

Этот макрос преобразуется в содержимое заголовка "ReplyTo".

$PRODUCTID$

Этот макрос раскрывается в строку с информацией о версии MDaemon.

$AR_START$

Возвращает дату и время начала работы автоответчика.

$AR_END$

Возвращает дату и время окончания работы автоответчика.

Макросы замены заголовков

Перечисленные ниже макросы управляют заголовками сообщений автоответчика.

%SetSender%

пример: %SetSender%=mailbox@example.com

Во время генерации автоответа этот макрос будет заменять адрес настоящего отправителя исходного сообщения перед сборкой заголовков в сообщениях автоответчика. Данный макрос управляет содержанием заголовкаTO. Например, если отправителем исходного сообщения был ящик "user2@domain.com", а автоответчик получателя использовал макрос%SetSender% для замены этого адреса на "user1@example.com", то заголовокTO в сообщении автоответчика будет содержать адрес "user1@example.com."

%SetRecipient%

пример:%SetRecipient%=mailbox@example.com

Во время генерации автоответа этот макрос будет заменять адрес получателя исходного сообщения перед сборкой заголовков в сообщениях автоответчика. Данный макрос управляет содержанием заголовкаFROM. Например, если получателем исходного сообщения был ящик "michael@example.com", а автоответчик пользователя Michael использовал макрос%SetRecipient% для замены этого адреса на "michael.mason@example.com", то заголовокFROM в сообщении автоответчика будет содержать адрес "michael.mason@example.com."

%SetReplyTo%

пример: %SetReplyTo%=mailbox@example.com

Управляет содержимым заголовкаReplyTo.

%SetSubject%

пример: %SetSubject%=Текст темы

Заменяет содержание темы исходного сообщения.

%SetMessageId%

пример: %SetMessageId%=строка ID

Заменяет ID-строку сообщения.

%SetPartBoundary%

пример: %SetPartBoundary%=Строка разбиения

Изменяет границы частей составного сообщения.

%SetContentType%

пример: %SetContentType%=MIME-тип

Меняет тип содержимого сообщения на указанное значение.

%SetAttachment%

пример:%SetAttachment%=filespec

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

Образцы сообщений автоответчика

Простое сообщение автоответчика файла oof.mrk с использованием нескольких макросов автоответа:

Здравствуйте, $SENDER$!

Ваше сообщение '$SUBJECT$' я прочесть не смогу, так как нахожусь в отпуске. Ура!!!

Искренне ваш,

$RECIPIENT$

 

С помощью некоторых макросов замены заголовков вы также можете управлять заголовками, которые будут сгенерированы при обработке этого сценария автоответчика и создании ответного сообщения отправителю$SENDER$:

Здравствуйте, $SENDER$!

Ваше сообщение '$SUBJECT$' я прочесть не смогу, так как нахожусь в отпуске. Ура!!!

Искренне ваш,

$RECIPIENT$

%SetSubject%=RE: $SUBJECT$

%SetAttachment%=c:\photos\me_on_vaction.jpg

С помощью этого скрипта автоответа вы добавляете "RE: " в начале темы исходного сообщения и присоединяете указанный файл.

Строка "%SetSubject%=RE: $SUBJECT$" обрабатывается примерно так:

1.Часть $SUBJECT$ замещается текстом темы исходного сообщения. Тем самым эта строка становится эквивалентной:

%SetSubject%=RE: оригинальный текст темы

2.MDaemon замещает оригинальную тему, сохраненную в его внутреннем буфере, этим новым рассчитанным значением. Отсюда и далее выражение "$SUBJECT$" в данном скрипте будет возвращать новый результат.

Обратите внимание на местоположение новых макросов — они перечислены внизу скрипта ответа. Это необходимо для исключения побочных эффектов. Например, если бы макрос%SetSubject%располагался перед макросом$SUBJECT$, который появляется во второй строке сценария ответа, текст темы был бы изменён при раскрытии макроса$SUBJECT$. То есть, вместо замены$SUBJECT$ содержимым оригинального заголовка "Тема:", этот макрос будет заменен значением, которое вы задали в качестве значения%SetSubject%.

См. также: