Программирование на языке Ruby
Шрифт:
Современные почтовые клиенты работают с почтой в
Подробное рассмотрение формата MIME заняло бы слишком много места, да и не относится к рассматриваемой теме. Но в следующем простом примере показано, как можно закодировать и отправить сообщение, содержащее текстовую часть и двоичное вложение. Двоичные куски обычно представлены в кодировке
18.2.7.
В онлайновых сообществах общение происходит разными способами. К наиболее распространенным относятся списки рассылки и конференции (новостные группы).
Но не каждый хочет подписываться на список рассылки и ежедневно получать десятки сообщений; кто-то предпочитает время от времени заходить в конференцию и просматривать новые сообщения. С другой стороны, есть люди, которым система Usenet кажется слишком медлительной — они хотели бы видеть сообщение, пока еще электроны не успели остыть.
Таким образом, мы имеем ситуацию, когда в сравнительно небольшом закрытом списке рассылки рассматриваются те же темы, что в немодерируемой конференции, открытой всему миру. В конце концов кому-то пришла в голову мысль организовать зеркало — шлюз между обеими системами.
Подобный шлюз подходит не к любой ситуации, но в случае списка рассылки Ruby он вполне годится. Сообщения из конференции нужно скопировать в список, а сообщения, отправляемые в список рассылки, направить также и конференцию.
Эта задача была решена Дэйвом Томасом (Dave Thomas) — конечно, на Ruby, — и с его любезного разрешения мы приводим код в листингах 18.6 и 18.7.
Но сначала небольшое вступление. Мы уже немного познакомились с тем, как отправлять и получать электронную почту, но как быть с конференциями Usenet? Доступ к конференциям обеспечивает протокол NNTP (Network News Transfer Protocol — сетевой протокол передачи новостей). Кстати, создал его Ларри Уолл (Larry Wall), который позже подарил нам язык Perl.
В Ruby нет «стандартной» библиотеки для работы с NNTP. Однако один японский программист (известный нам только по псевдониму greentea) написал прекрасную библиотеку для этой цели.
В библиотеке
В приведенных ниже программах используется библиотека
Файл
Хроники Тамула
Тамули
Фантастика:
фэнтези
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 36
36. История Телепата
Фантастика:
боевая фантастика
аниме
фэнтези
рейтинг книги
ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Компьютеры и Интернет:
программирование
рейтинг книги
Толковая Библия. Ветхий Завет. Книги пророческие.
Религия и эзотерика:
религия
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 34
34. История Телепата
Фантастика:
фэнтези
боевая фантастика
аниме
рейтинг книги
Большая кулинарная книга
Дом и Семья:
кулинария
рейтинг книги
И она поблагодарила богов
Детективы:
триллеры
рейтинг книги
Лекарь
2. Травник
Фантастика:
фэнтези
рейтинг книги
Князь Медведев. Дилогия
Медведев
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
Основные произведения иностранной художественной литературы. Азия. Африка
Научно-образовательная:
языкознание
литературоведение
рейтинг книги
Крестный сын
Фантастика:
фэнтези
рейтинг книги
Книга 4. Постижение высших миров
Научно-образовательная:
прочая научная литература
религиоведение
рейтинг книги