Выбрать главу

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

ArcMail-Attach мейлеры.

Как правило, основой функционирования любого ArcMail-Attach мейлера является каталог, содержащий письма сетевой почты (т.н. NetMail folder). В большинстве случаев каждое письмо хранится в отдельном файле, имеющем расширение .MSG. В таком случае принято говорить, что имеется область сетевой почты в *.MSG стиле (*.MSG-style netmail area).

В этом каталоге (дальше я буду употреблять жаргонное слово «фолдер») находятся письма, адресованные данному узлу, и письма, написанные на этом узле. Транзитные письма, проходящие через узел, в этом каталоге не размещаются. Мейлер осуществляет ресканирование фолдера с определенными промежутками времени в поиске новых сообщений, либо проделывает это при появлении соответствующего флага (пустого файла со специфическим именем типа REPACK.T-M или FDRESCAN.NOW в специальном каталоге флагов).

Обнаружив в фолдере письмо, ArcMail-Attach мейлер преобразует его в почтовый пакет (имеющий расширение .PKT) и переносит этот пакет в специальный каталог пакетов, называемый аутбаундом. Hеобходимость в таком преобразовании обьясняется тем, что письма, за редким исключением, не передаются напрямую адресату, а проходят по цепочке из нескольких станций. При этом каждая станция сама определяет на основании плана маршрутизации сетевой почты (netmail routing scheme) на какой узел следует передавать письма для указанного в заголовке письма адресата.

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

/157.49 —> /157.0 —> /1.0 —> /54.0 —> /54.46

то на этапе (/1 —> /54) пакет будет адресован от /1 для /54, хотя фактический отправитель и получатель имеют другие адреса.

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

Помимо обычных писем, аркмейл-аттач мейлеры способны понимать также некоторые спициальные письма — так называемые файл-аттачи (fileattach) или просто «аттачи». Файл-аттач представляет собой обычное письмо, имеющее особый атрибут (F/a — File/Attach) и содержащее в поле темы имя передаваемого файла.

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

Помимо обычных аттачей, мейлеры класса ArcMail-Attach имеют особый вид аттачей — ArcMail-Attach письма. Эти письма создает эхопроцессор при создании ArcMail-пакета для заданного адреса. Такое письмо отличается от обычного аттача тем, что написано от «магического» имени робота «ArcMail». При нахождении письма от этого робота мейлер не создает .PKT файла, и передает при установлении соединения только сам файл с ArcMail-пакетом.

Binkley-style мейлеры.

Для мейлера типа BinkleyTerm одним из основных отличий от ArcMail-Attach является тот факт, что такой мейлер никоим образом не работает с письмами. Таким образом, вместо NetMail-фолдера в Binkley-style мейлерах используется понятие аутбаунда (outbound). Для каждой из зон, в которые станция отправляет письма и файлы, создается специальный каталог (аутбаунд).

Для каждого адреса, на который должна быть отправлена почта создаются особые файлы с уникальным именем (шестнадцатиричная запись 3D-адреса узла) и расширением .?LO, задающие флавор (атрибут, flavour) для данного адреса, а также содержащие указания мейлеру на передачу тех или иных файлов в виде путей. Первая буква расширения задает флавор. Для нетмайла создается аналог файла .PKT — ?UT. Все эти манипуляции осуществляются не мейлером, а отдельной утилитой, либо эхопроцессором.

При посылке почты мейлер типа BinkleyTerm передает соответствующий файл с неупакованной сетевой почтой (.?UT), в виде файла .PKT, образовав имя .PKT файла непосредственно в момент начала передачи. Таким образом, при обрывах связи с последующим перезвоном .PKT файлы имеют уже другие имена, а следовательно принимаются не с места обрыва, а заново.

Поскольку в восьмисимвольном поле имени файла DOS невозможно разместить 4D-адрес в шестнадцатиричной форме, для адресов назначения, являющихся поинтами создаются отдельные подкаталоги аутбаунда. Такие подкаталоги имеют шестнадцатиричные имена соответствующие адресу босс-ноды (т.е. 3D-адресу) и содержат файлы .?UT и .?LO с шестнадцатиричным номером поинта.