9.4 Получение по электронной почте файлов FTP

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

Среди наиболее интересных или полезных почтовых серверов есть такие:

mail-server@rtfm.mit.edu Файлы с "часто задаваемыми вопросами", относящимися к Usenet; списки сенаторов и конгрессменов Соединенных Штатов по штатам и их адреса и номера служебных телефонов.

archive-server@eff.org Информация о фонде Electronic Frontier Foundation; документы о юридических изданиях в Сети.

archive-server@cs.widener.edu Резервные копии издания Computer Underground Digest и все факты, которые вам может захотеться узнать о Симпсонах ("The Simpsons").

netlib@uunet.uu.net Программы для разных типов персональных компьютеров; архивы прошлых поступлений от различных групп новостей на Usenet.

archive-server@ames.arc.nasa.gov Файлы текстов и картинок (GIF-формат) по космической тематике.

service@nic.ddn.mil Подробная информация о Internet. Большая часть почтовых серверов работают единообразно - вы посылаете сообщение по электронной почте, объясняющее, какой файл вам нужен и как вы хотите, чтобы вам его послали. Самая важная команда - "send", которая сообщает компьютеру, что вы просите его послать некоторый файл.

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

index

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

index директория/субдиректория

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

Узнав имя файла и путь директории, составьте для архив-сервера сообщение вроде следующего:

send директория/субдиректория/файл

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

С виду просто. Чуть сложнее обстоит дело, если вам нужна программа, а не документ. Программы или другие файлы, содержащие необычные символы или строки длиннее 130 символов (например, графические файлы), требуют специальной обработки почтовым сервером, чтобы они прошли по электронной почте. Потом они должны быть пропущены через хотя бы одну программу-конвертер для приведения их в тот вид, в котором они будут использоваться. Чтобы гарантировать приход к вам программы или любого другого файла "не подлежащего передаче по почте", включите в свое сообщение серверу еще одну строку:

encoder

Это преобразует файл в кодированную форму. Чтобы его декодировать, сначала следует передать этот файл-сообщение в вашу домашнюю директорию в виде файла.

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

size 100000

Это дает почтовому серверу сведения о максимальном размере в байтах каждого сегмента файла. Для подсистем UUCP рекомендуется данный конкретный размер. Подсистемы Internet и Bitnet могут работать с фрагментами до 300000. Когда вы получите по почте такие файлы, передайте их в свою домашнюю директорию. Выйдите из почты и вызовите каждый файл в текст-процессор своей системы и удалите заголовки и "хвосты". После этого введите в командной строке своей системы:

cat файл1 файл2 > большой_файл

где файл1 - первый файл, файл - второй файл, и так далее. Символ > дает системе указание объединить их в цельный файл с именем большой_файл (или как вы его там назовете). После запоминания файла в своей домашней директории (см. выше в разделе 9.2), можно запустить программу uudecode, tar и т. д. Однако следует предостеречь: Если файл достаточно длинный, и разбит на фрагменты, - подумайте, сколько времени у вас займет скачивание всей этой информации, особенно если у вас модем 2400 бод!

Есть и другие почтовые серверы. Чтобы получить их список, пошлите по электронной почте сообщение к mail-server@rtfm.mit.edu:

send usenet/comp.sources.wanted/How_to_find_sources_(READ_THIS_BEFORE_POSTING)

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

help

вы должны получить файл, в котором детально описаны команды сервера.

А что делать, если нужный вам файл не находится ни на одном из этих серверов? Здесь на сцене появляется ftpmail. Эта служба, которую ведет Digital Equipment Corp. в штате Калифорния, может связаться почти с любой подсистемой ftp в мире, взять нужный вам файл и послать его вам по почте. Использовать ее просто - послать сообщение по электронной почте по адресу ftpmail и включить в это сообщение последовательность команд, сообщающих системе, где найти файл, который вам нужен, и в каком формате его переслать.

Составьте сообщение по электронной почте на адрес:

ftpmail@decwrl.dec.com

Строку "subject:" оставьте пустой. Внутри сообщения вы можете дать несколько команд. Первой строкой должна быть:

reply адрес

где "адрес" - ваш адрес электронной почты. Следующая строка должна быть

connect host

где "host" - та система, которая содержит интересующий вас файл (например: wuarchive.wustl.edu). Другие команды, которые вам следует рассмотреть, это "binary" (обязательно для программных файлов); "compress" (уменьшает размер файла для ускорения передачи) и "uuencode" (кодирует файлы так, что с полученными файлами можно работать). Последняя строка вашего сообщения должна состоять из одного только слова "quit".

Допустим, что вам нужна копия конституции США. С помощью archie вы нашли файл, который называется (странно!) constitution, на подсистеме ftp archive.cis.ohio-state.edu, в директории /pub/firearms/politics/rkba. Вы посылаете по адресу ftpmail@decwrl.dec.com сообщение, подобное следующему:

reply adamg@world.std.com
connect archive.cis.ohio-state.edu
binary
compress
uuencode
get pub/firearms/politics/rkba/constitution
quit

Когда вы получите файл в свой почтовый ящик, скопируйте его в файл описанной выше процедурой. Прогоните его через uudecode. Теперь введите

uncompress имя.файла

чтобы с файлом можно было работать.

Так как этот файл был текстовый, команду "binary" можно было заменить на "ascii" и убрать "uuencode". Для программ эти строки все же стоит оставить. Предупреждение относительно ftpmail: эта служба стала настолько популярной, что затребованные файлы могут прибыть через неделю или позже.

[Назад] [Содержание] [Вперед]