Thu, 17 May  |   Login English version  |  OS2.Ru  
В начало
Об OS/2
Новости
Публикации
DevCenter
База данных
Каталог ресурсов
Биржа труда
TeamDB
Форумы и общение
Опросы и конкурсы
Russian Team OS/2
На первую страницу OS2.Ru
 Вокруг OS/2 |  Программы и технологии |  Аппаратура |  Разработчикам |  Мастерская
Поиск по: Добавить закладку OS2.Ru в панель Netscape 6/Mozilla
OS2.Ru > Articles > Software > Fido > Itrax > Itrax Tracker.phtml.ru
2001-04-22
Глеб Беляков
(версия для печати)

Трекер почты на базе itrax.dll

  1. Что это такое?

    Это трекер нетмайла (и чуть-чуть эхомайла) написанный на Object Rexx с использованием itrax.dll (c) Igor Shvyrkov Fidonet: 2:5020/410.

  2. Что ему нужно?
    • itrax.dll версии не ниже 1.47.

    • Установленный Object REXX for OS/2.

    • Библиотека rexxutil от 18.05.99 или позже.

    • Коллекция классов и процедур от Gleb Belyakov

  3. Что он умеет?
    • Хаброутинг.

    • Обработка транзитных аттачей.

    • Read-Only процессор для эхомайла.

    • Выдирание UUE из эхоконференций.

    • Обработка аутбаунда по правилам T-Mail'а (письмо лежит в директории с транзитным мылом до тех пор, пока не будет реально отправлено).

    • Майл-боксы в стиле T-Mail.

  4. Ограничения.
    1. Роутинг пока только статический. Динамический роутинг планируется.

    2. В майлбоксах пока не поддеррживается переадресация.

    3. Если письмо изменить в транзитной области, то пока оно будет не перепаковано, а допаковано. Т. е. адресат получит оба варианта.

  5. Состав.
    unpack.cmdраспаковщик, r/o процессор, uu-выдиралка.
    track.cmdсобственно трекер.
    pack.cmdпаковщик в BinkOutbound
    processout.cmdоутбаунд процессор.
    tracker.iniконфигурационный файл.
    templates\*.tplшаблоны для создаваемых писем.
    Library\*модули используемые программой.
  6. Как это работает?

    1. Вот нам свалилась почта (NetMail и/или EchoMail).
      1. запускается unpack.cmd
        • Распаковывает эхобандлы.

        • Сканирует *.pkt, при этом двигает найденный NetMail в директорию для транзитного нетмайла, копирует все найденные UUE в указанный каталог, баунсит письма в эхи идущие от r/o линков.

        • Если найден EchoMail, то запускает прогу, описанную в директиве EchoToss.

        • Если найден NetMail -- выставляет соответствующий флаг (track.trk).

      2. Запускается track.cmd (по флагу).
        • Сканирует майлбоксы и переносит новые письма в каталог для транзитного нетмайла.

        • Сканирует директорию с транзитным NetMail'ом.

        • Раскладывает письма на нашу систему по майлбоксам. При этом запускает соответствующие проги, если они указаны.

        • Переносит найденные транзитные аттачи в указанный каталог.

        • Баунсит письма:

          • На неизвестные адреса (для которых неизвестен роутинг).

          • На наш адрес, но на неизвестные имена (если письмо не двинуто ни в один MailBox)

          • Запросы к роботам которые идут транзитом.

        • Если в результате получилось что-то, что нужно упаковать, то выставляет соответствующий флаг (pack.trk).

      3. Запускается pack.cmd (по флагу).
        • Упаковывает все что нужно в Bink Outbound.
        • При этом ловит дупы в самом Bink Outbound.
      4. Вот мы сами чего-то написали.
        • Выполняются все пункты 1-3. По флагам.
    2. Нам позвонили и что-то забрали.
      1. Запускается (мейлером или еще кем...) processout.cmd. Он принимает в качестве параметра файл со списком того, что было отправлено за эту сессию. В этом файле должны быть перечислены все ушедшие файлы (особенно *.?ut из Bink), по подному в строке. Что там было нетмайлом processout разберется сам. При этом он:

        • Убивает отправленные письма из каталога с транзитным мылом.

        • Реагирует на атрибут ARQ.

  7. Что нельзя делать, чтобы все было нормально.
    1. В процессе работы паковщика создается файл msgbase.db. Если с этим файлом что-то случится, то письма, лежащие в директории с транзитным мылом, будут лежать там до тех пор, пока сисоп не прибъет их руками. Короче, убивалка про них забудет.

    2. Не стоит убивать каталоги, которые указаны где-либо в tracker.ini. Если каталога не станет, то трекер будет вылетать с руганью, вне зависимости от того, нужен ему в данный момент этот каталог или нет. В дальнейшем планируется создавать отсутствующие каталоги.

    3. Не стоит совмещать директорию BadArea трекера и подобную директорию эхопроцессора, если эхопроцессор сканирует ее на предмет вынимания мессаг оттуда. Иначе они с трекером начнут играть в пинг-понг.

  8. Установка.
    1. Распакуйте архив в выбранный вами каталог.

    2. Если вы положите файлы из library\ и/или itrax\library\ в другое место, то вам придется исправлять все директивы ::requires найденные, внутри файлов.

    3. Настройте файл tracker.ini и подключите трекер к мейлеру (см. п. 9).

    4. Напишите на 2:5030/687.0 или сюда, что вы используете мой трекер.

    5. Все замечания и пожелания пишите на 2:5030/687.0@FidoNet

  9. Подключение к мейлеру. (Применительно к T-Mail'у)
    1. Нужно запретить мейлеру распаковывать почту, для чего в t-mail.ctl нужно исправить 'Unpack Yes' на 'Unpack No'.

    2. Директории Mail_In и Mail_Out нужно прописать куда-нибудь в левый каталог, т. к. T-Mail'у нельзя объяснить что почту трогать вообще не надо.

    3. Т. к. трекер надо запускать и по приходу NetMail, и по приходу EchoMail, прописывать его прямо в Process не рекомендую. Лучше создавать там флаг и запускать трекер по флагу. Вот так:
      Process *.pkt Create \sem32\incoming.mail
      Process ARCMail Create \sem32\incoming.mail
      Process_Flag %\sem32\incoming.mail start /b /c /fs unpack.cmd
      Если у вас мейлер не запускает отдельные сесии на тоссинг почты и примем нетмайла, то можно обойтись без этого и запускать unpack прямо в Process.

    4. Кроме того, рекомендую пришедший NetMail сразу убирать из инбаунда, чтобы до него не добрался тоссер. Это делается так:
      Process Imm *.pkt move *F \fido\inbound\pkt.in
      При этом трекеру прописать еще один Инбаунд.

    5. Прописать реакцию на флаги track.trk и pack.trk:
      Process_Flag track.trk start /b /c /fs track.cmd
      Process_Flag pack.trk start /b /c /fs pack.cmd

    6. Прописать запуск processout.cmd после каждой сессии, и в качестве параметра передавать ему полное имя файла Outbound.tmp. Делается это так:
      Process processout.cmd <packets>\t-$$-*T\outbound.tmp

    7. Настроить редактор почты таким образом, чтобы при написании почты в майлбокс автоматически запускался track.cmd.

  10. Настройка.
      См. коментарии в tracker.ini. Но вот несколько правил:
    1. Старайтесь соблюдать правильный синтаксис -- он пока проверяется очень слабо и возможны странные последствия.

    2. Все каталоги, которые описаны где-либо в tracker.ini, нужно создать. Сам он этого пока делать не будет.

    3. Если вам не нужна какая-то фича, то пока не очень рекомендуется выключать ее коментированием слова из конфига. При этом можно получить вылеты в самых неожиданных местах. Вместо этого я рекомендую прописать туда что-то синтаксически верное но заведомо невыполнимое. Например для EchoRO можно указать несуществующую эху, для MailBox несуществующее имя и так далее... Это будет исправлено в ближайших версиях.

  11. Гарантии: ну конечно, никаких. Если вы мне скажете что трекер форматнул вам винт, то я очень удивлюсь, но помочь ничем не смогу.

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

    2. Если вы изменяете что-то в трекере, то вы пишете свою, отдельную документацию.

    3. Если вы добавляете собственные возможности в трекер, присылайте соответствующие фрагменты сюда или на 2:5030/687.0 -- они будут включены в одну из следующих версий трекера с указанием на ваше (со)авторство.


Скачать

itrax_tracker.zip


Обсудить материал (число отзывов:4)




 Вокруг OS/2 |  Программы и технологии |  Аппаратура |  Разработчикам |  Мастерская


Новости
15/08: GoldenCode выпустит Java 1.4 для OS/2
14/06: Fix #16 rus / Warp4
30/05: Перерыв в работе OS2.Ru
Все новости..

В каталоге
Дерево каталога
Новые поступления

Публикации
Боремся с зависанием PM и зомби - WatchCat + HardKill
(Samorukov Alex , 2001-10-11)

DSync - куда может быть проще?
(Okounkov Konstantin, 2001-09-28)

WarpGoGo: переводим музыку в MP3
(Okounkov Konstantin, 2001-09-26)

Все материалы

Решения
Tips & tricks

Активные опросы
Используете ли Вы OS2.Ru tab в Netscape ?

Все опросы
Первая страница  |   Об OS/2  |   Новости  |   Публикации  |   База данных  |   Каталог ресурсов  |   Биржа труда  |   TeamDB  |   Форумы общения  |   Опросы и голосования  |   OS2.Ru DevCenter
Дизайн, оформление © 1996-2000 Copyright WebTeam. Использование материалов OS2.Ru без согласия авторов и координаторов запрещено
Powered by OS/2