| Робот на основе The Bat! от Homeric |
...или как это делал я...
Ну что ж, вот мои рекомендации по созданию почтового робота.
Во-первых, робот не должен отвечать на письма с yahoogroups.com (опыт на robot@luga.ru - примечание Yavorsky Vadim)
Во-вторых, лучше отвечать на адрес указанный в поле From, чтобы избежать сюрпризов.
В-третьих, адрес на котором размещён робот не должен быть подписан на конференции или рассылки (опыт на robot@luga.ru - примечание Yavorsky Vadim).
Хороший документ про роботов - статья Леонида Ивонина, здесь: http://www.nobat.ru/frobot.html
А я сделал так:
У меня робот имеет два интерфейса: r01@nm.ru и r02@nm.ru. Письма валятся в один POP-аккаунт. На письма приходящие на первый адрес робот отвечает по-русски, на второй - по-английски. Система рассчитана на добавление других
интерфейсов, причём без проблем.
Нужны шаблоны для ответа, а также шаблоны для рассылки хелпа и рассылки списка файлов.
Создаю такие файлы:
!========> Here begins ~r01_help.txt... <========!
======================================================================
ИНСТРУКЦИЯ ПО РАБОТЕ С РОБОТОМ r01@nm.ru
Обновлена Sat, 28 Apr 2001 19:50:19 -0400
- Для того чтобы заказать файл с данного робота, нужно поместить в поле "Тема" (Subject) соответствующую команду и отправить письмо на адрес r01@nm.ru. Полный список команд можно получить, послав письмо с темой LIST
- В одном письме можно указывать только один заказ. Несколько заказов в теме письма не распознаются - в результате ни одного файла не будет выслано.
- Тело письма может быть любым, оно не обрабатывается роботом.
- Файлы высылаются в течение трех (3) дней.
- Перед заказом файла убедитесь, что в Вашем почтовом ящике достаточно места для его приёма. Большие файлы не рассылаются на бесплатные почтовые ящики.
- Английский интерфейс робота находится по адресу r02@nm.ru
======================================================================
!========> And here ~r01_help.txt ends. <========!
!========> Here begins ~r01_list.txt... <========!
======================================================================
СПИСОК КОМАНД на r01@nm.ru
Обновлен Sat, 06 Apr 2002 14:59:00 EST
HELP
> Help Sat, 28 Apr 2001 19:50:19
mailto:r01@nm.ru?body=%TRACKINGNUMBER&subject=HELP
Инструкция по использованию робота, на русском языке
LIST
> List Sat, 06 Apr 2002 14:59:00
mailto:r01@nm.ru?body=%TRACKINGNUMBER&subject=LIST
Список команд на русском языке
.....
.....
TB.REKLAMA.PL
> remove_reklama2.zip 8 476 Sat, 06 Apr 2002 14:59:00
mailto:r01@nm.ru?body=%TRACKINGNUMBER&subject=TB.REKLAMA.PL
Скрипт на Perl для удаления рекламы из UNIX-ящиков (v2.6)
======================================================================
!========> And here ~r01_list.txt ends. <========!
!========> Here begins ~r01_reply.txt... <========!
%TO=""%TO="%IF:'%SETPATTREGEXP=""([@,])""%REGEXPMATCH=""%OFROMNAME""'>'':'""%OFROMNAME""':'%OFROMNAME' <%OFROMADDR>"%-
%FROM=""%FROM="File Robot <r01@nm.ru>"%-
%SUBJECT="Вы запросили %OSUBJ"%-
Здравствуйте, %OFromFName!
%INCLUDE="D:\SHARED\FROBOT\~R01MSGS.TXT"%
%ODATESHORT в %OTIME (EST) %OFROMNAME пишет %OTOADDR:
%QUOTES="%OSUBJ"
%QUOTES="%TEXT=""1"""
Ваш запрос принят. Спасибо за использование файлового робота!
--
Робот
!========> And here ~r01_reply.txt ends. <========!
Такие же файлы (~r02_reply.txt, ~r02_list.txt, ~r02_help.txt) для английского языка создаём.
Это файлы на диске. Теперь используем быстрые шаблоны чтобы обеспечить доступность к ним без указания путей, а также вызов при приёме письма с соответствующего адреса (Бат тогда не позволял использовать макросы в %INCLUDE, да и опасно это).
БШ (быстрый шаблон) r01@nm.ru.~REPLY содержит такой текст
%INCLUDE="D:\shared\frobot\~r01reply.txt"
БШ r01@nm.ru.HELP
%INCLUDE="D:\shared\frobot\~r01_help.txt"
БШ r01@nm.ru.LIST
%INCLUDE="D:\shared\frobot\~r01_list.txt"
БШ r02@nm.ru.~REPLY
%INCLUDE="D:\shared\frobot\~r02reply.txt"
БШ r02@nm.ru.HELP
%INCLUDE="D:\shared\frobot\~r02_help.txt"
БШ r02@nm.ru.LIST
%INCLUDE="D:\shared\frobot\~r02_list.txt"
Теперь открываем сортировщик и создаём правило для нежелательных писем, на которые робот отвечать не будет. Сюда входят ошибки серверов, например.
| Правило: |
| Строки | Где | Наличие |
| failure|warning|failed | Тема | Да |
| Альтернативы: |
| Строки | Где | Наличие |
| support@newmail.ru|@yahoogroups.com|@egroups.com | Заголовок | Да |
| Действия - кидать в корзину не отвечая |
Теперь можно начинать создавать правила сортировки для рассылки файлов. Вот пример правила для рассылки по сабжу ADHOSTS
| Правило: |
| Строки | Где | Наличие |
| r01@nm.ru|r02@nm.ru | Получатель | Да |
| ADHOSTS | Тема | Да |
| Действия - [х] Отправить автоответ |
Шаблон:
%QINCLUDE="%OTOADDR.~REPLY"
%ATTACHFILE="D:\shared\frobot\full_127001.zip"
%ATTACHFILE="D:\shared\frobot\full_127001.zip.sig"
(первый аттач - сам файл, второй аттач - сигнатура PGP. Количество аттачей может быть любым)
Как отсюда понятно, на письмо отправленное на r01@nm.ru сработает шаблон r01@nm.ru.~REPLY и ответ пойдёт по-русски.
Скопировать правило несколько раз, меняя сигнальную тему и имена аттачей, остальное трогать не нужно.
В самом конце поставить правила HELP:
!========> Here begins Windows Clipboard... <========!
| Правило: |
| Строки | Где | Наличие |
| r01@nm.ru|r02@nm.ru | Получатель | Да |
| HELP | Тема | Да |
| Действия - [х] Отправить автоответ |
Шаблон:
%QINCLUDE="%OTOADDR.~REPLY"
%QINCLUDE="%OTOADDR.HELP"
!========> And here Windows Clipboard ends. <========!
...и LIST
!========> Here begins Windows Clipboard... <========!
| Правило: |
| Строки | Где | Наличие |
| r01@nm.ru|r02@nm.ru | Получатель | Да |
| Действия - [х] Отправить автоответ |
Шаблон:
%QINCLUDE="%OTOADDR.~REPLY"
%QINCLUDE="%OTOADDR.LIST"
!========> And here Windows Clipboard ends. <========!
Как видно, если нужно добавить ещё один интерфейс (например французский), нужно копать только быстрые шаблоны (создать файлы и добавить БШ с именами frenchrobot@example.com.~REPLY, frenchrobot@example.com.HELP, frenchrobot@example.com.LIST.
Homeric