KLIRIK.NAROD.RU > ПОЛЕЗНОСТИ ДОБАВИТЬ В ИЗБРАННОЕ | ПОМОЩЬ
 [ Главная ] [ Лютеранство ] [ Полезности ] [ Гуделки ] [ Ссылки ] [ Форум ] [ Гостевая ] [ Автора! ]  
 

The Bat!: фильтруем рассылку

Последнее обновление:

Zakladki.ru

Добавить сайт:

Ваш архив:

Ваш персональный архив на Закладках.ru

Другие места

Карта сайта >

Оставить отзыв >

Письмо автору >

The Bat!: фильтруем рассылку

Многие из пользователей почтового клиента The Bat! порой даже не догадываются о том, какие большие возможности скрыты в этой программе, по праву занимающей достойное место на компьютерах многих новичков и «гуру». Главное, что говорят о достоинствах The Bat! среди прочих многочисленных почтовых программ — его безопасность. The Bat! никогда сам не запустит никакой файл из вложенного письма — а значит, при надлежащей осторожности самого пользователя почтовые вирусы ему практически не страшны. Другая отличительная черта The Bat! — неограниченное количество почтовых ящиков и их одновременная проверка, что даёт значительную экономию времени при получении почты. Особенно это существенно при работе через модем: довольно многие провайдеры обеспечивают своим клиентам небольшой защитный интервал, и The Bat! в большинстве случаев отлично укладывается в этот интервал, делая работу с почтой не только дешёвой, но даже совершенно бесплатной. Есть, однако, ещё несколько замечательных возможностей, которые зачастую недооцениваются. Это работа с фильтрами, регулярными выражениями и «быстрыми шаблонами». Очень многие пользователи The Bat! либо вообще никогда не слышали об этом, либо создают и пользуются лишь самыми элементарными фильтрами и шаблонами. В общем-то, фильтровать почту по ключевым словам умеет и Outlook, и очень многие, зная об этом, часто задаются вопросом, чем же The Bat! здесь лучше. Ну... настроек для фильтров немного больше... Но ведь это количественная разница, а не качественная? В конце концов, не переходить же на другой почтовик только потому, что текущая используемая программа не умеет не издавать звуковой сигнал о новых письмах, а The Bat! — умеет?

Данная статья на примере одной весьма популярной рассылки от Subscribe.ru описывает процесс создания и настройки фильтра для The Bat!, разобравшись в котором вы сможете по достоинству оценить те возможности программы, которые вам вряд ли обеспечит какой-либо другой почтовый клиент, существующий на момент написания этой статьи.

Для работы вам понадобится The Bat!, а также оригинальный Help к программе на английском языке. (Существует русский Help к The Bat!, однако в нём отсутствует перевод одного из разделов, необходимый для того, чтобы полностью разобраться в происходящем).

Над чем и зачем работаем?

Данная статья описывает процесс работы с конкретной рассылкой, а именно c рассылкой от Subscribe.ru с кодом comp.soft.win.wind. Это рассылка серии «Вопросы и ответы», включающая в себя несколько тем: Software, Hardware, Windows 9x/Me, Windows NT/2k, Windows XP, а также возможно некоторые другие. Рассылка представляет собой что-то вроде E-mail-форума: люди присылают свои вопросы, а другие на них отвечают. Разобравшись с работой над этой рассылкой, вы, в принципе, можете создать что-то похожее для любой другой рассылки.

Обычно у подписчика имеется возможность выбора формата рассылки (html, просто текст или другое) и кодировки (koi-8, win-1251 и пр.). Для настройки фильтра проще всего работать с текстовой версией рассылки. Итак, пусть у нас имеется подписка на указанную рассылку, настроенная таким образом, чтобы письма приходили в текстовом (не html) формате, в кодировке win-1251.

Цель же манипуляций The Bat! над данными письмами — складывать всё нужное в один большой текстовый файл, а всё ненужное — вырезать и удалять.

Исследуем структуру рассылки

Посмотрим внимательно на одно из писем рассылки в The Bat! Во-первых, сразу хочется обратить внимание на то, что при просмотре письма становятся доступными команды меню «специальное» — «список рассылки». Нажмём F9, чтобы просмотреть исходный текст письма и увидим в заголовке следующие строки:

List-Id: <comp.soft.win.wind.subscribe.ru>
List-Help: <mailto:ask@subscribe.ru>
List-Owner: <mailto:ask@subscribe.ru>
List-Subscribe: <http://Subscribe.Ru/catalog/comp.soft.win.wind>
List-Unsubscribe: <http://Subscribe.Ru/catalog/comp.soft.win.wind>
List-Archive: <http://Subscribe.Ru/archive/comp.soft.win.wind>
List-Post: NO

Собственно, они и определяют конкретное поведение The Bat! при выборе одной из команд вышеупомянутого меню. Такие специальные строки есть во всех рассылках Subscribe.ru, а также их можно встретить зачастую и в других рассылках. Это ни что иное, как заголовок рассылки.

Теперь взглянем на текст письма и попытаемся выделить основную структуру одного из выпусков рассылки по Hardware. Поскольку рассылка — периодическая, нетрудно заметить, что этой же структурой обладают и остальные письма рассылки. Сама же структура, как правило, такова (в угловых скобках я поместил описание отдельных блоков):

<Реклама от Subscribe.ru>

Hardware. Вопросы и ответы.

<некий текст>

Выпуск #114. <некий текст>

<некий текст>

<отступ> оглавление/вверх

<отступ> Ответы на вопросы о Hardware

<блок из вопросов и ответов>

<отступ> оглавление/вверх

<отступ> Вопросы о Hardware

<блок из вопросов>

<отступ> оглавление/вверх

<оставшийся некий текст>

Конктретная информация, которая нас интересует в каждой из рассылок, и которую мы будем сохранять в архиве, это её тема (в данном случае Hardware), номер выпуска (в данном случае 114), блок вопросов и ответов и блок одних вопросов. Всё остальное содержимое рассылки — реклама от subscribe, а также авторские деферамбы в начале и в конце каждого письма сохранять в архив бессмысленно.

Порассуждав ещё немного, приходим к выводу, что сохранять блок вопросов также бессмысленно — поскольку толку от вопросов без ответов нет, а блок вопросов с ответами всегда цитирует вопрос. Однако просто удалять блок вопросов жалко. К тому же, посмотрев на то, каким образом выглядит блок вопросов в текстовом варианте рассылки, становится понятно, что работать с ним (отвечать на вопросы) не совсем удобно. The Bat! не воспринимает приписку «?Subject=Answer xxxx» в конце адреса для ответа на каждый из вопросов, и его приходится копировать вручную. Значит, блок вопросов неплохо было бы переформатировать в удобный вид и тоже сохранить где-нибудь, — но только не в основном архиве.

Итак, фронт действий вырисовывается следующий: нужно создать два фильтра, которые выполнялись бы последовательно. Один должен дописывать в архив блок вопросов и ответов, а другой — переформатировать в удобочитабельный вид и сохранять блок вопросов, — а затем отправлять оригинальное письмо в предназначенную ему папку (например, в корзину).

Пишем фильтр вопросов и ответов

Первое, что нужно сделать — отфильтровать из общего потока писем те, что являются рассылкой. Для этого в секции фильтров «Входящие» в The Bat! создаём новый фильтр, и как-нибудь его обзываем. Например, «Answers». Этот фильтр мы настроим на архивирование вопросов и ответов. Фильтруем письма по следующим параметрам:

«Отправитель» содержит «namma@subscribe.ru»

«Тема» содержит «Windows 9x/2000/NT/XP. Вопросы и ответы»

Теперь перейдём во вкладку «Действия», и выберем «экспортировать письмо в файл». В качестве формата укажем «Текст» и дополнительно установим параметр «Добавить к существующему файлу». Укажем имя текстового файла, который, собственно, и будет архивом для писем.

В этой минимальной конфигурации фильтр уже будет собирать все входящие письма рассылки и дописывать их в конец текстового архива. Но ведь нам нужно сохранять не всё письмо, а лишь секцию с вопросами и ответами!

Посмотрим, что The Bat! может предложить по этому поводу. Нажимаем кнопку «шаблон» возле поля ввода имени файла, и попадаем в окно редактирования шаблона, с которым будет сохраняться исходное письмо. Затем открываем Help и читаем раздел о макросах и регулярных выражениях...

Из этого курса самообразования становится ясно, что для того, чтобы осуществить задуманное, нужно сделать следующее:

Во-первых, создать шаблон для «резки» текста, — или то, что называют фразой «регулярное выражение».

В-вторых, пропустить через этот шаблон исходный текст письма.

В-третьих, вытащить из найденного при помощи шаблона нужное и вставить в задуманные места письма.

Первый шаг осуществляется при помощи макроса %SetPattRegExp="". В кавычках пишется, собственно, регулярное выражение.

Второй шаг осуществляется макросом %REGEXPBLINDMATCH="". Этот макрос фильтрует то, что ему дали в качестве параметра при помощи ранее заданного регулярного выражения. Поскольку нам нужно отфильтровать исходный текст письма, то в качестве параметра к этому макросу мы передадим результат вывода другого макроса — %TEXT, возвращающего исходный текст письма. Итак, в целом второй шаг фильтрации будет выражен строкой %REGEXPBLINDMATCH="%TEXT".

Наконец, третий шаг — выделение отдельных найденных кусочков текста — осуществляется при помощи макроса %SubPatt="число", где числовой параметр указывает, какой именно кусочек результата регулярного выражения мы хотим вставить в письмо. По порядку структуры письма рассылки первым кусочком будет её тема, вторым — номер выпуска, а третьим — нужный нам блок вопросов и ответов. Для полноты картины к шаблону можно добавить дату и время получения письма — но эту информацию уже необязательно получать при помощи регулярного выражения.

В результате мы можем вкратце нарисовать простой шаблон:

%SetPattRegExp="некое регулярное выражение"
%REGEXPBLINDMATCH="%TEXT"
----------------------------------------------
%SubPatt="1" #%SubPatt="2" от %ODATE %OTIMELONG.
----------------------------------------------

%SubPatt="3"

Для рассматриваемого письма рассылки этот шаблон (при надлежащем регулярном выражении) выведет в конец текстового файла следующее:

----------------------------------------------
Hardware #115 от 2 декабря 2002 г. 17:13:33.
----------------------------------------------

<Вопросы и ответы выпуска>

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

В начале выражения пишем директиву, предписывающую компилятору обрабатывать выражение определённым образом. Я не буду вдаваться в подробности этих директив. Скажу только, что их всего четыре, и что их описание можно найти в стандартной (англоязычной) справке по The Bat! Те, кто знакомы с языком Perl также знают, о чём идёт речь — поскольку The Bat! использует ту же самую библиотеку для обработки регулярных выражений, что и Perl. Итак, пишем в начале выражения следующее: "(?ims-x)".

Первая строка, которую мы ищем — это тема рассылки. Это могут быть слова Hardware, Software, фраза Windows XP и фразы Windows 9x/Me и Windows NT/2000. Ещё про искомую строку известно, что сразу после неё стоит точка, а затем идёт фраза «Вопросы и ответы.». Итак, что же такое искомая строка? Если посмотреть на неё обобщённо, то это некое слово (а ещё точнее — последовательность алфавитно-цифровых символов), после которого могут (но не обязательно) следовать пробел, одно алфавитно цифровое слово, знак прямого слэша (/) и ещё одно алфавитно-цифровое слово. После этой конструкции обязательно стоит точка, за ней следует пробел и фраза «Вопросы и ответы.» Итак, если обозначить необязательные элементы последующим за ними знаком вопроса, то структура, содержащая тему рассылки, выглядит так:

<слово><" ">?<слово>?<"/">?<слово>?<". Вопросы и ответы.">

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

"(\w*?\s?\w*?\/?\w*?)\.\s+Вопросы и ответы\."

Следующая строка поиска — номер выпуска рассылки. Её легко определить по фразе «Выпуск #» непосредственно перед номером. Да и сам номер является числом — т.е. состоит из одной или более цифр. Это тоже облегчает задачу. Выделив скобками нужную подстроку получим следующий фрагмент регулярного выражения для нахождения номера выпуска рассылки:

"Выпуск \#(\d+)"

Теперь ищем блок вопросов и ответов. О нём известно, что перед ним идёт строка «оглавление/вверх», выровненная по правому краю, а затем строка «Ответы на вопросы о <тема рассылки>», после которой следует, собственно, текст вопросов и ответов. Заканчивается этот текст ещё одной строкой «оглавление/вверх». Руководствуясь этими данными, мы можем написать следующее регулярное выражение для нахождения в тексте блока вопросов и ответов:

"\n?\s*оглавление\/вверх\s*\n+\s*Ответы на вопросы о.*?\n(.*?)\n\s*оглавление/вверх\s*\n+"

(в этом выражении дополнительно полагается, что перед строкой "оглавление/вверх" может быть символ новой строки, а после самой фразы могут быть пробелы, а затем один или более символов новой строки).

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

Блок вопросов начинается сразу после блока вопросов и ответов, фразой "Вопросы о <тема рассылки>", а после блока идёт строка "оглавление/вверх" и следующая за ней — "Последние темы форума". Кусок регулярного выражения для данного текста будет следующим:

"\s*Вопросы о.*?\n(.*?)\n\s*оглавление\/вверх\s*\n+\s*Последние темы форума"

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

%SetPattRegExp="(?ims-x)(\w*?\s?\w*?\/?\w*?)\.\s+Вопросы и ответы\..*?Выпуск \#(\d+).*?\n?\s*оглавление\/вверх\s*\n+\s*Ответы на вопросы о.*?\n(.*?)\n\s*оглавление/вверх\s*\n+\s*Вопросы о.*?\n(.*?)\n\s*оглавление\/вверх\s*\n+\s*Последние темы форума "

Обратите внимание! Всё регулярное выражение пишется в одну строку, без переносов!

В конце фильтра ставим галочку «продолжить обработку следующих правил», и на этом наш фильтр для блока вопросов и ответов готов!

Пишем фильтр для блока вопросов

Теперь перейдём к фильтрованию вопросов.

Скопируем предыдущий фильтр, разместим копию ниже оригинала, и дадим ему имя "Hardware" В строках условия добавим ещё одну строку, проверяющую наличие в тексте письма фразы "Ответы на вопросы о Hardware".

Перейдём ко вкладке "действия" фильтра, переключим действие с "Добавить к существующему файлу" на "Записать поверх существующего файла".

Теперь в качестве выходного файла напишем "hardware.eml" с предшествующим путём. Почему именно eml? Потому, что в шаблоне фильтра мы будем формировать не простой текстовый файл, а файл письма, которое можно будет открывать при помощи самого The Bat! Это позволит упростить работу с секцией вопросов и реализовать ссылки для ответов на вопросы. Следующий момент: мы будем формировать не просто письмо, а письмо в формате HTML. Это значит, что мы сможем произвольно менять формат раздела вопросов, и придавать ему удобный для нас вид. Общая структура раздела будет следующей:

<заголовки письма и заголовок HTML>

<H2>Вопросы по "тема рассылки" #"номер рассылки" от "дата и время письма"</H2>

<table>

"Сформатированный блок вопросов"

</table>

<заключительный текст и завершение письма>

"Сформатированный блок вопросов" — это 4-й результат вышеописанного регулярного выражения. Посмотрим на структуру, собственно, блока вопросов. В целом, она такова:

"Вопрос "<номер вопроса>

<текст вопроса>

"Ответить "(<E-mail для ответа на вопрос>)

...(<остальные вопросы по тому же шаблону>)

При помощи регулярного выражения, применённого к тексту блока вопросов, мы выделяем из него четыре части: номер (первого в списке) вопроса, текст вопроса, E-mail для ответа на вопрос и блок текста, содержащий все остальные вопросы, начиная со второго в списке. Само регулярное выражение вместе с макросом будет следующим:

%SetPattRegExp="(?ims-x)Вопрос\s(\d+)\:\s*\n\s*?(.*?)\n\s*Ответить\s*\((.*?)\)(.*)"

Осталось разрешить два момента. Первый — где хранить блок вопросов для выполнения фильтрации, и второй — как организовать цикл для обработки всего блока вопросов (дело в том, что регулярное выражение находит лишь первое вхождение в искомом тексте, игнорируя весь остаток текста. Иначе говоря, указанное регулярное выражение может найти лишь "первый вопрос" и "всё остальное", но не сможет последовательно переходить от вопроса к вопросу).

Что касается первого момента, здесь мы можем воспользоваться неиспользуемыми полями письма, доступными для чтения и для записи. К примеру, поле комментария письма доступно через макрос %Comment. При помощи этого макроса можно как обращаться к тексту поля, так и присваивать ему нужное значение. Самое интересное, что хотя, по сути, это поле предназначено для написания нового письма, тем не менее, оно отлично работает и в шаблоне сохранения письма в файл (который сам по себе никаких новых писем, где могло бы оказаться полезным это поле, не создаёт). Что ж, воспользуемся этим «подарком» от разработчиков как необходимым контейнером для сохранения результата!

Что касается второго момента, то здесь, на первый взгляд, никакого простого выхода не видно. Никакой возможности для организации цикла обработки разработчики, на первый взгляд, не предусмотрели. Однако если поизучать внимательно Help к The Bat!, то можно увидеть в описании макроса %IF упоминание вскользь о том, что его можно вызывать рекурсивно. Попробуем разобраться, что же это за рекурсивный вызов и чем он может нам помочь.

Предположим, что у нас есть макрос %Comment, содержащий блок вопросов.

Для начала создадим «быстрый шаблон», который форматировал бы первый вопрос из макроса %Comment и выводил его. Дадим этому шаблону псевдоним «question». Если применить к этому полю вышеприведённое регулярное выражение, то простейший шаблон для вывода вопроса может быть следующим:

<tr>
<td class=left>Вопрос %SubPatt="1"<br><a href=''mailto:%SubPatt="3"''>Ответить</a></td>
<td class=right>%SubPatt="2"</td>
< /tr>

Теперь, поскольку первый вопрос уже выведен, мы можем переопределить поле %Comment так, чтобы оно содержало всё, кроме первого вопроса. Для этого мы можем просто присвоить полю четвёртый результат регулярного выражения — который как раз и содержит всё, кроме первого вопроса. Для этого допишем в конец нашего простейшего шаблона следующую строчку:

%Comment="%SetPattRegExp=""(?ims-x)Вопрос\s\d+\:\s*\n\s*?.*?\n\s*Ответить\s*\(.*?\)(.*)""%RegExpMatch=""%Comment"""

(Внимание! Последний пример должен быть введён одной строкой)

Результатом работы такого шаблона (в целом) станет то, что от поля %Comment будет «отрезан» самый первый вопрос, и выведен на печать.

Если каждый раз отрезать по одному первому вопросу, в конце концов можно добиться того, что вопросов в поле %Comment уже не останется. Чтобы шаблон не выводил ничего в том случае, если поле %Comment пусто, припишем в начало шаблона условный макрос, проверяющий содержимое %Comment на наличе в нём хотя бы одного вопроса. После этого, поскольку теперь шаблон автоматически завершает работу при опустошении %Comment, мы можем вызывать его рекурсивно. Для этого припишем в конце шаблона вызов себя самого. В результате всех упомянутых правок шаблона получаем следующее:

%IF:'%SetPattRegExp="(Вопрос).*"%RegExpMatch="%Comment"'>'':'%SetPattRegExp="(?ims-x)Вопрос\s(\d+)\:\s*\n\s*?(.*?)\n\s*Ответить\s*\((.*?)\)(.*)"%RegExpBlindMatch="%Comment"


< tr>
<td class=left>Вопрос %SubPatt="1"<br><a href=''mailto:%SubPatt="3"''>Ответить</a></td>
<td class=right>%SubPatt="2"</td>
< /tr>


%Comment="%SetPattRegExp=""(?ims-x)Вопрос\s\d+\:\s*\n\s*?.*?\n\s*Ответить\s*\(.*?\)(.*)""%RegExpMatch=""%Comment"""


%Qinclude="question"':''

(отдельные блоки структуры здесь для наглядности разделены дополнительным переводом строки).

Остался последний штрих. В основном шаблоне фильтра присваеваем полю %Comment содержимое блока вопросов и включаем в него созданный быстрый шаблон question. Ниже я привожу полный текст шаблона для сохранения письма в файл:

List-Id: <comp.soft.win.wind.subscribe.ru>
List-Help: <mailto:ask@subscribe.ru>
List-Owner: <mailto:ask@subscribe.ru>
List-Subscribe: <http://Subscribe.Ru/catalog/comp.soft.win.wind>
List-Unsubscribe: <http://Subscribe.Ru/catalog/comp.soft.win.wind>
List-Archive: <http://Subscribe.Ru/archive/comp.soft.win.wind>
List-Post: NO
From: Subscribe.Ru <namma@subscribe.ru>
To: "comp.soft.win.wind" <a_n_vinogradov@mail.ru>
Subject: comp.soft.win
MIME-Version: 1.0
Content-Language: ru
Content-Type: text/html; charset="windows-1251"
%SetPattRegExp="(?ims-x)(\w*?\s?\w*?\/?\w*?)\.\s+Вопросы и ответы\..*?Выпуск \#(\d+).*?\n?\s*оглавление\/вверх\s*\n+\s*Ответы на вопросы о.*?\n(.*?)\n\s*оглавление/вверх\s*\n+\s*Вопросы о.*?\n(.*?)\n\s*оглавление\/вверх\s*\n+\s*Последние темы форума"
%REGEXPBLINDMATCH="%TEXT"
<html>
<head><title>%SubPatt="1" #%SubPatt="2" от %ODATE %OTIMELONG.</title>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
<META content="The Bat! Cool Subscribe.ru filter" name=GENERATOR>
<style type="text/css">
<!--
.left {
font-family: Arial, Helvetica, sans-serif;
font-size: x-small;
color: #000000;
background-color: #FFCCCC;
vertical-align: top;
border-top-width: thin;
border-top-style: solid;
border-top-color: #000000;
border-bottom-width: thin;
border-bottom-style: solid;
border-bottom-color: #000000;
padding: 5px;
border-left-width: 1px;
border-left-style: solid;
border-left-color: #000000;
font-weight: bold;
}
.right {
font-family: Arial, Helvetica, sans-serif;
font-size: x-small;
color: #333366;
background-color: #CCFFCC;
vertical-align: top;
border-top-width: thin;
border-top-style: solid;
border-top-color: #000000;
border-bottom-width: thin;
border-bottom-style: solid;
border-bottom-color: #000000;
border-left-width: thin;
border-left-style: dashed;
border-left-color: #FF0000;
padding: 5px;
border-right-width: 1px;
border-right-style: solid;
border-right-color: #000000;
font-weight: normal;
}
-->
</style>
</HEAD>
<body bgcolor="#99ccff">
<h2><font face="Arial,helvetica">Вопросы по %SubPatt="1" #%SubPatt="2"
от %ODATE %OTIMELONG.</font></h2>
<table border="0" cellpadding="0" cellspacing="0" bordercolor="#000000">
%Comment="%SetPattRegExp=""(?ims-x)оглавление\/вверх\s*\n+\s*Ответы на вопросы о.*?\n.*?\n\s*оглавление/вверх\s*\n+\s*Вопросы о.*?\n(.*?)\n\s*оглавление\/вверх""%RegExpMatch=""%Text"""
%QINCLUDE="question"
</table>
<p> Задать вопрос в раздел: <a href="mailto:win98@oszone.net?subject=Question">[Windows 9x/Me]</a>
<a href="mailto:winnt@oszone.net?subject=Question">[Windows NT/2K]</a>
<a href="mailto:winxp@oszone.net?subject=Question">[Windows XP]</a>
<a href="mailto:soft@oszone.net?subject=Question">[Software]</a>
<a href="mailto:hard@oszone.net?subject=Question">[Hardware]</a></p>
<p> <a href="http://forum.oszone.net" target="_blank">Форум по операционным системам</a> (http://forum.oszone.net)</p>
</body>
</html>

Убираем во вкладке «Свойства» флажок «продолжить обработку следующих правил». На вкладке «правила» задаём папку, куда будут перемещаться отфильтрованные письма (скажем, "Inbox\Hardware". На этом наш фильтр для форматирования и вывода блока вопросов по Hardware готов!

Остальные настройки фильтрации

Создаём четыре копии последнего фильтра, и настраиваем их так, чтобы они обрабатывали остальные темы рассылки. Скажем, рассылку по Software в файл software.eml, и так далее. В результате всех настроек получаем в правилах сортировки входящих фильтр «answers» и пять фильтров: «hardware», «software», «windows nt», «windows xp» и «windows 9x».

Немного сыра...

В этом файле filters.txt находятся все вышеперечисленные фильтры. Откройте этот файл в «блокноте», выделите и скопируйте весь текст в буфер обмена. После этого откройте меню сортировщика писем The Bat!, выделите группу «Входящая почта» и вставьте фильтры, нажав на клавиатуре комбинаци «Ctrl+v» (вставить).

В этом файле qtemplate.txt находится содержимое «быстрого шаблона» questio. Откройте этот файл, выделите и скопируйте весь текст из него в буфер обмена. Затем откройте в The Bat! меню быстрых шаблонов (нажмите «Ctrl+Shift+q») и создайте там новый шаблон с псевдонимом question. Вставьте в шаблон скопированное в буфер содержимое файла.

Настройте в фильтрах по своим потребностям имена файлов для экспорта, а также имена папок для помещения отфильтрованных писем.

Вот и всё!


Copyright © 2002 by Alexey N. Vinogradov (the owner of klirik.narod.ru)
Используются технологии uCoz