Электронная библиотека книг Александра Фролова и Григория Фролова.
 
Библиотека
Братьев
Фроловых
Электронная библиотека книг Александра Фролова и Григория Фролова.
Библиотека системного программиста
Программирование на JAVA
ПК. Шаг за шагом
Другие книги
Восстановление данных
Антивирусная защита
Статьи для
программистов
Пользователю компьютера
[Назад] [Содержание] [Дальше]

Электронная почта. Ваш спутник в Интернете

(С) Александр Фролов, Григорий Фролов, 2000

1. Электронная почта.. 1

Как работает электронная почта.. 2

Создание и отправка сообщения. 2

Пересылка сообщения между серверами. 3

Получение сообщения. 4

Электронное сообщение. 5

Заголовок сообщения. 5

Тело сообщения. 7

Наборы символов и кодировка сообщения. 8

Присоединенный файл. 9

Почтовый адрес.. 10

Современные почтовые протоколы... 11

Протокол SMTP.. 12

Протокол POP3. 14

Протокол IMAP.. 16

Выбор почтовой программы... 17

Microsoft Outlook Express. 18

Netscape Messanger. 19

The Bat! 19

Почтовая система Microsoft Hotmail 20

Проект бесплатной почты компании ORC.. 21

Работа в текстовом режиме. 23

Подключение к серверу. 23

Выбор режима работы с электронной почтой. 24

Создание нового сообщения. 24

Редактирование и отправка сообщения. 25

Загрузка полученного сообщения. 26

Редактирование содержимого почтового ящика. 26

 

1. Электронная почта

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

Сегодня по своей популярности электронная почта лидирует в списке сервисов Интернета. Именно этот способ пересылки сообщений в основном используется для ежедневной деловой и личной переписки, так как электронная почта работает намного быстрее и надежнее, чем обычная почтовая связь.

Электронная почта появилась вместе с операционной системой UNIX. Работать с электронной почтой в локальных и глобальных компьютерных сетях, выполненных на базе UNIX, позволял протокол копирования UNIX-UNIX (UNIX to UNIX Copy, UUCP). При использовании этого протокола почта передавалась последовательно с одного узла на другой, в результате чего она иногда долго путешествовала по сети, прежде чем достигала адресата.

Сегодня в Интернете протокол UUCP, хотя и применяется, но гораздо меньше: его постепенно заменяют современные протоколы — протокол почтового отделения (Post Office Protocol, POP), простой протокол передачи почты (Simple Mail Transfer Protocol, SMTP) и протокол доступа к сообщениям Интернета (Internet Message Access Protocol, IMAP). Они надежнее и быстрее, чем UUCP. (Об этих современных протоколах мы расскажем чуть позже.)

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

Провайдеры

Чтобы получить доступ в Интернет, Вам необходимо заключить договор с одной из компаний, специализирующихся на предоставлении такого доступа. Эти компании называются поставщиками услуг Интернета (Internet Service Providers, ISP) или провайдерами (providers).

Большинство провайдеров, хотя и не все, предоставляют услуги электронной почты бесплатно. Выбирая компанию — поставщика услуг Интернета, поинтересуйтесь также, какой максимальный объем почтовых сообщений Вам разрешается хранить бесплатно. Хорошо бы он составлял не менее 1—2 Мбайт.

Кроме того, в Интернете существуют бесплатные системы электронной почты, созданные на базе серверов Web — о них мы расскажем далее.

Как работает электронная почта

Работу системы электронной почты в Интернете обеспечивают специальные почтовые серверы. Их обычно устанавливают на территории компании-провайдера (если они принадлежат этой компании) или вне ее (если они принадлежат другой компании). Если у Вас есть постоянное соединение с Интернетом и выделенный адрес IP, то Вы тоже сможете разместить на своем компьютере почтовый сервер.

О том, как происходит процесс передачи электронной почты, мы расскажем в следующих разделах.

Адрес IP

Каждый компьютер (узел), подключенный к Интернету, должен иметь свой так называемый адрес IP (здесь аббревиатура IP означает Internet Protocol). Адрес IP представляет собой 32-разрядное двоичное число, которое обычно записывается в виде четырех десятичных чисел, разделенных точкой. Каждое такое число может изменяться в интервале от 0 до 255. Вот пример адреса IP: 193.124.5.38.

Когда Ваш компьютер будет подключаться к серверу провайдера, он автоматически получит временный адрес IP. Вам не надо знать точное значение временного адреса, так как программы умеют его определять без вмешательства пользователя.

Однако в ряде случаев, например, если Вы собираетесь подключать к Интернету свой собственный сервер, работающий круглосуточно (сервер Web или почтовый сервер), Вам придется получить у провайдера постоянный адрес IP. Заметим, что и постоянный адрес, и постоянное подключение к Интернету требуют ежемесячных денежных затрат.

Создание и отправка сообщения

Итак, Вы получили доступ к Интернету. Теперь, чтобы отправить сообщение, Вам надо с помощью специальной почтовой программы создать его, при необходимости добавив к нему один или несколько файлов произвольного формата, называемых присоединенными файлами (file attachments). Другие названия присоединенных файлов — файлы вложения, дополнительные файлы или файлы, вставленные в сообщение.

Далее Вы устанавливаете соединение с Интернетом, компьютер-отправитель соединяется с сервером провайдера и записывает сообщение в свою выделенную ему область памяти на почтовом сервере (рис. 1-1). Эта область обычно называется личным почтовым каталогом или личным почтовым ящиком.

Рис. 1-1. Запись электронного сообщения в каталог почтового сервера

Обычно за один прием отправляют одно или сразу несколько сообщений. Затем Вы можете разорвать соединение с сервером провайдера, не дожидаясь, пока сообщение достигнет адресата.

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

Если Вы подключились к Интернету при помощи модема и обычной телефонной линии, данные будут передаваться в среднем со скоростью 1—3 кбит/с. Отправка сообщения размером 1 Мбайт займет приблизительно 5—15 минут. Обычно размер текстовых сообщений электронной почты не превышает нескольких килобайт, поэтому на отправку почты уходит немного времени.

Единицы измерения информации

Объем информации исчисляется в битах (bit). Бит имеет только два значения — 1 или 0. Для представления символьной информации используется более крупная единица измерения — 1 байт (byte), содержащая 8 бит.

Если речь идет о количестве информации (число символов в тексте, размер файла), то наряду с байтом используют производные единицы, такие, как килобайт — кбайт (Kbyte), мегабайт — Мбайт (MByte), гигабайт — Гбайт (Gbyte) и терабайт — Tбайт (TByte).

Считается, что 1 кбайт = 1 024 байт, а не 1 000, как это можно было бы предположить (это связано с широким использованием при программировании двоичных и шестнадцатеричных чисел). Соответственно 1 Мбайт = 1 024 кбайт, 1 Гбайт = 1 024 Мбайт, а 1 Тбайт = 1 024 Мбайт.

Пересылка сообщения между серверами

Далее почтовый сервер отправителя пересылает сообщения почтовому серверу получателя (рис. 1-2).

Рис. 1-2. Пересылка почты между серверами

Как правило, пересылка сообщения между почтовыми серверами выполняется очень быстро вне зависимости от того, насколько далеко друг от друга они расположены. Если по каким-то причинам сервер получателя не отзывается, сервер отправителя делает повторные попытки передачи сообщений.

В зависимости от настойки сервера отправителя такие попытки осуществляются в течение нескольких дней или нескольких недель. Затем в случае неудачи сообщения вернутся обратно к отправителю. Он их получит при очередной проверке своего почтового ящика вместе со входящей почтой.

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

Если почтовый сервер не сумел доставить послание адресату, он посылает отправителю электронное письмо с объяснением причин возникновения ошибки. Проанализировав содержимое этого письма, Вы сможете понять, почему отправленное сообщение не «добралось» до адресата.

Оба пользователя — и отправитель сообщения, и его получатель — не принимают никакого участия в процессе пересылки почты между серверами. В это время их компьютеры могут быть не подключены к Интернету или даже выключены.

Скорость передачи данных

При передаче данных вместе с полезной информацией передается служебная, поэтому объем переданной (принятой) информации возрастает. В результате эффективная скорость передачи данных снижается.

Когда скорость передачи или приема данных измеряют в битах в одну секунду (бит/с, Bits Per Second, bps) или байтах в одну секунду (байт/с), то имеют в виду скорость с учетом всех передаваемых бит данных, как полезной, так и служебной информации.

Единица измерения скорости символы в секунду (Characters Per Second, cps) подразумевает измерение скорости передачи только полезной информации. Кроме того, при вычислении скорости в cps учитывается возможная упаковка информации, выполняемая модемами. Она исключает передачу избыточных данных.

Известна и еще одна единица измерения скорости передачи данных — боды (baud). Эта число изменений сигнала, передаваемого модемом, за одну секунду, оно зависит от технических особенностей модема. Обычно скорость, выраженная в бодах, превосходит скорость, выраженную в бит/с.

Получение сообщения

На третьем (и последнем) этапе получатель забирает пришедшие на его адрес сообщения со своего почтового сервера (рис. 1-3).

Рис. 1-3. Получатель забирает свое сообщение с почтового сервера

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

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

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

Электронное сообщение

Любое сообщение, передаваемое по каналам электронной почты, состоит максимум из трех основных компонентов: заголовка, тела сообщения и присоединенных файлов, передаваемых вместе с сообщением.

Заголовок содержит адресную и служебную информацию, тело сообщения — текст электронного письма, а присоединенные файлы — любые данные. Заголовок и тело сообщения неотъемлемая часть сообщения, а вот присоединенные файлы Вы вставляете в послание сами, по необходимости или по желанию. Фактически присоединенные файлы можно рассматривать как необязательную часть тела сообщения.

Заголовок сообщения

Заголовок почтового сообщения состоит из нескольких полей, некоторые из них Вы должны заполнить сами (это поля To, Cc, Bcc и Subject). Остальные почтовая программа заполнит автоматически.

Ниже показан заголовок письма, отправленного нами на наш же электронный адрес:

From: "Alexandre Frolov" <alexandre@frolov.pp.ru>
To: <alexandre@frolov.pp.ru>
Cc: <a_frolov@hotmail.ru>
Bcc: "usa.net" <a_frolov@usa.net>
Subject: This is a test
Date: Thu, 16 Mar 2000 15:01:36 +0300
MIME-Version: 1.0
Content-Type: multipart/alternative;
  boundary="----=_NextPart_000_001C_01BF8F58.8645AB30"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.2314.1300
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300

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

Рассмотрим некоторые поля заголовка по отдельности.

·         From. В этом поле, заполняющемся автоматически почтовой программой, указывается имя и электронный адрес отправителя сообщения. В данном случае сообщение было отправлено Александром Фроловым (Alexandre Frolov) с адреса alexandre@frolov.pp.ru.

Подробнее об электронных почтовых адресах мы расскажем в разделе «Почтовые адреса».

·         To. Здесь указывают электронный почтовый адрес получателя сообщения. Так как мы послали почту сами себе, то ввели здесь тот же адрес, что и в поле From. Обычно же содержимое этого поля не совпадает с содержимым поля From.

Корреспондент он может сообщить Вам свой электронный почтовый адрес, например, по телефону, в обычном письме или при личной встрече. Электронные почтовые адреса публикуются в рекламе, в различных каталогах на страницах серверов Web, в сообщениях электронных новостей и в каналах общения реального времени. Кроме того, в Интернете существуют специальные поисковые серверы, способные по имени, фамилии и некоторым другим данным отыскать электронный почтовый адрес. Почтовые программы, такие как Microsoft Outlook Express, способны взаимодействовать с указанными выше поисковыми серверами, о чем мы расскажем чуть позже.

·         Cc. Имя поля образовано как сокращение от словосочетания Carbon Copy, которое можно перевести как «копия». Это поле Вам понадобится, когда Вы захотите послать одно и то же сообщение сразу по нескольким адресам. Надо указать в этом поле список электронных адресов, и сообщение будет отправлено по ним всем.

Таким образом Вы сможете поздравить всех своих друзей с праздником или «рассказать» им всем смешной анекдот.

·         Bcc. Названия этого поля образовано от Blind Carbon Copy —  «слепая», или «блокированная», копия. По своему назначению это поле аналогично полю Cc, однако между ними есть одно существенное отличие.

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

Представьте, что Вы собрались поздравить всех своих знакомых девушек с праздником 8 марта, подготовили электронную открытку и разослали ее с помощью поля Cc. Теперь каждая из них получит полный список всех Ваших подруг. Едва ли Вам этого хочется!

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

·         Subject. Здесь Вам надо кратко описать содержимое почтового сообщения. Когда адресат получит Ваше послание, по описанию в поле Subject он поймет, о чем речь в сообщении.

Чтобы заинтересовать адресата, пишите осмысленный текст в поле Subject. В противном случае получатель его может просто проигнорировать.

·         Date. Это поле заполняется автоматически почтовой программой. Оно содержит дату создания сообщения. В конце строки даты указано значение смещения часового пояса (разница между местным временем и временем по Гринвичу), для Москвы оно равно +3 часам.

·         MIME-Version. Электронные сообщения передаются в закодированном виде. Подробнее мы расскажем об этом в разделе «Кодирование сообщения», сейчас же только заметим, что в поле MIME-Version почтовая программа указывает номер версии стандарта многоцелевых расширений почты Интернета (Multipurpose Internet Mail Extension, MIME), использованной для кодирования данного сообщения.

·         Content-Type. В соответствии со стандартом MIME сообщение может содержать данные различного типа — как текстовые, так и двоичные. Причем в заголовке сообщения обязательно находится строка описания типа данных для каждого конкретного сообщения.

Тип данных описывается в поле заголовка с именем Content-Type (данное поле автоматически заполняется почтовой программой), например:

Content-Type: multipart/alternative;
  boundary="----=_NextPart_000_001C_01BF8F58.8645AB30"

В данном случае тип multipart означает, что в сообщении возможно несколько фрагментов данных. При этом параметр boundary определяет строку, разделяющую отдельные фрагменты сообщения. В данном случае в качестве разделителя выступает строка «----=_NextPart_000_001C_01BF8F58.8645AB30».

·         X-Priority и X-MSMail-Priority. Здесь определяется так называемый приоритет почтового сообщения.

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

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

Присваивать своим сообщениям повышенный приоритет нужно только при необходимости. В противном случае обилие выделенных сообщений будет лишь раздражать Ваших корреспондентов.

·         X-Mailer. Здесь почтовая программа записывает свое собственное название и версию. Анализируя содержимое данного поля, нетрудно узнать, какой почтовой программой пользуется Ваш корреспондент. Например, взглянув на приведенный выше заголовок, можно установить, что для подготовки сообщения использовалась почтовая программа Microsoft Outlook Express версии 5.00.2314.1300 (цифры 2314.1300 означают номер модификации для версии 5.0).

·         X-MimeOLE. Здесь указано название и версию программной компоненты, выполняющей кодирование данных в стандарте MIME.

Тело сообщения

Чтобы показать, как выглядит тело сообщения, мы подготовили с помощью почтовой программы Microsoft Outlook Express небольшое электронное письмо, состоящее из одной строки «Test message». Заголовок этого сообщения показан в предыдущем разделе книги.

Ниже мы приводим тело сообщения полностью, таким, как его создает почтовая программа (Вам в таком виде его не придется создавать никогда):

This is a multi-part message in MIME format.

------=_NextPart_000_001C_01BF8F58.8645AB30
Content-Type: text/plain;
  charset="koi8-r"
Content-Transfer-Encoding: quoted-printable

Test message

------=_NextPart_000_001C_01BF8F58.8645AB30
Content-Type: text/html;
  charset="koi8-r"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dkoi8-r" http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2314.1000" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Test message</FONT></DIV></BODY></HTML>

------=_NextPart_000_001C_01BF8F58.8645AB30--

Как видите, собственно строка сообщения составляет лишь малую часть тела сообщения.

Почтовая программа Microsoft Outlook создала два фрагмента для двух вариантов сообщения, один из которых текстовый, а другой подготовлен с применением языка разметки гипертекста HTML, применяемого для создания страниц серверов Web.

Язык разметки гипертекста HTML

Язык разметки гипертекста (Hyper Text Markup Language, HTML) применяется при подготовке страниц серверов Web. С его помощью создают документы, содержащие помимо текста ссылки на другие документы HTML, графические иллюстрации, анимацию, элементы пользовательского интерфейса и другие объекты.

Язык HTML допускает форматирование текста, при котором разрешается изменять шрифт, размер символов, начертание — жирное, курсивное или подчеркнутое, а также использовать другие приемы оформления.

Каждый фрагмент имеет свой заголовок, начинающийся со строки разделителя. Вы видите, что первый фрагмент имеет тип text/plain, а второй — text/html. Этот тип определяется содержимым поля Content-Type.

Кроме типа данных, в заголовке фрагмента указано название набора символов сообщения charset и тип кодирования Content-Transfer-Encoding. В данном случае для текста использован набор символов koi8-r, а для кодирования этого текста при передаче в теле сообщения используется формат quoted-printable. О наборах символов и кодировке текста сообщения мы расскажем в следующем разделе книги.

Когда Вы получите сообщение, то его текст будет извлечен почтовой программой из тела, перекодирован и отображен в окне этой программы без служебной информации (рис. 1-4).

Рис. 1-4. Сообщение в окне почтовой программы

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

Для чего почтовая программа поместила в тело сообщения два фрагмента?

Первый из них предназначен для устаревших почтовых программ, которые не способны отображать сообщения в формате HTML. Такие программы проигнорируют фрагмент типа text/html.

Что же касается новых программ, то они способны реализовать богатые возможности языка HTML, применяя их для шрифтового и стилевого оформления почтовых сообщений, а также для размещения в таких сообщениях графических изображений и активных объектов. Сообщения, подготовленные с применением языка разметки HTML, выглядят более привлекательно, чем обычный неформатированный текст.

Наборы символов и кодировка сообщения

Остановимся подробнее на названии набора символов, указанного в поле charset.

Как Вы, наверное, знаете, серверы Интернета создаются на базе различных операционных систем, однако большинство почтовых серверов и серверов Web работают в среде Unix. На компьютерах пользователей Интернета, однако, может быть установлена не только операционная система Windows, но и Unix, IBM OS/2 и даже DOS. Из-за того, что в разных операционных системах применяются различные несовместимые между собой наборы символов, появляются, в частности, сложности с отображением кириллицы.

Обычно почтовые сообщения с символами кириллицы передаются через Интернет с применением набора символов KOI8-R, принятого по умолчанию в операционной системе Unix, однако возможны и другие наборы. В табл. 2-1 мы перечислили названия стандартных наборов символов кириллицы для некоторых наиболее распространенных операционных систем.

Таблица 2-1. Наборы символов кириллицы в разных операционных системах

Операционная система

Набор символов кириллицы

Microsoft Windows 95/98,
Microsoft Windows NT,
Microsoft Windows 2000

Windows-1251

Unix, Linux, FreeBCD, Sun OS и другие версии Unix

KOI8-R, ISO-8859-5

IBM OS/2, DOS

DOS CP866

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

Чтобы решить эту проблему, применяется дополнительное кодирование текста передаваемых сообщений.

На заре развития электронной почты для кодирования использовался метод «кодировка UNIX-UNIX» (UNIX to UNIX Encode, UUEncode): двоичные 8-битовые данные представлялись 7-битовым эквивалентом в виде символов латинского алфавита. Имейте в виду, что латинские символы кодируются числами в диапазоне от 0 до 127 и могут быть представлены только посредством 7 бит.

Как мы уже говорили, сегодня кодирование почтовых сообщений выполняется в соответствии со стандартом многоцелевых расширений почты Интернета (Multipurpose Internet Mail Extension, MIME). При этом в заголовке фрагмента помимо названия набора символов сообщения charset указан и тип кодирования Content-Transfer-Encoding.

А теперь мы перечислим различные типы кодирования (примеры использования некоторых из них показаны в следующем разделе):

·         binary — означает отсутствие кодирования. Символы сообщения передаются в исходном виде, даже если для их представления используется 8 бит. Передаваемые строки сообщения могут иметь большую длину;

·         8-bit — аналогично предыдущему, но используется небольшой размер передаваемых строк;

·         7-bit — аналогично предыдущему, но для представления символов передаваемого сообщения используется только 7 бит;

·         quoted-printable — используется для кодирования текста, большинство символов которого могут быть представлены посредством 7 бит. Это латинские символы. Если же для представления символа необходимо 8 бит, то такой символ кодируется с использованием 7-битовых символов;

·         base-64 — в результате кодирования данного типа выполняется преобразование групп из трех 8-битовых символов в группы по четыре 6-битовых символа. В результате такой кодировки размер сообщения увеличивается примерно на треть;

·         x-token — если указан этот тип кодирования, то отправляющая и принимающая программа сами договариваются между собой об использовании той или иной кодировки символов.

Присоединенный файл

Как мы уже говорили, в электронное письмо можно вставить присоединенные файлы. В зависимости от содержимого присоединенного файла применяется тот или иной метод кодирования.

Например, вот какие данные будут добавлены к телу сообщения в том случае, если в роли дополнительного выступает текстовый файл, содержащий только латинские символы:

------=_NextPart_000_0040_01BF8F69.C72A00E0
Content-Type: application/octet-stream;
  name="AUTOEXEC.BAT"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
  filename="AUTOEXEC.BAT"

rem - By Windows Setup - C:\W98\COMMAND\mscdex.exe /D:IDECD001
mode con codepage prepare=((866) C:\W98\COMMAND\ega3.cpi)
mode con codepage select=866
------=_NextPart_000_0040_01BF8F69.C72A00E0

Мы добавили к сообщению файл с именем autoexec.bat.

Как видите, в заголовке фрагмента указан тип данных application/octet-stream, имя файла и 7-битовая кодировка. Далее следует пустая строка и данные файла до строки разделителя.

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

------=_NextPart_000_004A_01BF8F69.E9392E40
Content-Type: application/octet-stream;
  name="RK.COM"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
  filename="RK.COM"

6RkqKEMpIDE5ODkgIEEuU3RyYWtob3YsIEFjYWRlbXlTb2Z0AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAASQ9CD00PTB9hH3QfUk91T3NPAehfAw4HuQYAv1wAvtwB9sNAdAO+0AHzpbQD
uAARuwAOuQABugAAvmAAxCzNEFpZtAG3AM0QtAK3AM0Q6DYDwwAAAAAAAAAAAAAAABwF
HBsAAP7LeAd0CP7LdBvDjMjDoCAELoQGQAC0AHUDgMwCqCB0A4DMAcMuoCAEitj2x4B1
AXQDgMsg9scCdQOAy0AuiB4gBDLDJEB0A+hS/8P7LvYGigECdQqA/BF0dfbEf3QFLv8u
HmwAWOiQAiR/M9uOwyaKJoUEvlwAJjoGSQR0BOiQAs+AJooB/jwDdxuADooBAbcIgPwO
DnQFvmQAtxDpjwAzyTwHdN88E3fOsQiA/A58aL5gALEOdGG+ZACxEOta6Cz/zzxVdPg8
IwK+XAA8AnRdPBJ0WTwQdH20CDwgdDs8IXQsPCN0KL5gALQOPAF0NTwRdDE8InQXvmQA
. . .
Lv8ubAC46AH/0M9QUx4zwI7Y9sNAuBwJjMt0Brg0Ers0EqN8AIkefgAfW1jDAAAAAAAA

------=_NextPart_000_004A_01BF8F69.E9392E40--

Мы пропустили часть листинга.

Как видите, для двоичного файла с именем RK.COM применена кодировка base64. В результате 8-битовый поток данных удалось представить в виде 7-битовых символов ANSI.

Кодировка ANSI

Американский национальный институт стандартов American National Standards Institute (ANSI) разработал стандарт для представления символов. Согласно этому стандарту, каждому из 256 символов соответствует одно 8-битовое значение (т.е. один символ кодируется одним байтом).

При этом первые 128 значений (с кодами в пределах от 0 до 127) соответствуют латинским буквам и символам. Значения от 128 до 255 предназначены для представления специальных символов и букв национальных алфавитов. Используя 7-битовую кодировку, можно представить только латинские буквы и символы.

Вы можете познакомиться со стандартами ANSI на сервере Web http://www.ansi.org.

Взгляните на рис. 1-4. В поле Присоединить (Attach) расположен значок дополнительного файла AUTOEXEC.BAT. Он появился, когда мы добавили сам файл в окно программы подготовки нового сообщения мышью. Таким образом, присоединить файл очень просто.

Почтовый адрес

Адрес электронной почты обычно образуется из идентификатора пользователя, символа @ и доменного адреса почтового сервера провайдера, например alexandre@frolov.pp.ru или a_frolov@hotmail.com. В большинстве случаев пользователи вправе сами выбирать для себя идентификаторы. Но есть ограничение — в идентификаторах нельзя использовать символы кириллицы.

Вторая часть почтового адреса изменится, когда Вы смените провайдера. Собственно говоря, при этом просто получите новый адрес.

Доменный адрес

Как мы уже говорили, каждый узел Интернета имеет свой адрес IP. Однако цифровые адреса IP удобны для компьютеров, но не удобны для людей. Чтобы облегчить запоминание адресов серверов, расположенных в Интернете, каждому из них присвоен собственный так называемый доменный адрес.

Доменные адреса состоят из нескольких имен, разделенных точки, а также некоторого префикса, определяющего тип ресурса. Например, полный доменный адрес сервера Microsoft — http://www.microsoft.com, адрес сервера издательства «Русская Редакция» — http://www.rusedit.ru, а адрес домашней странички авторов этой книги — http://www.frolov.pp.ru.

Для того чтобы пользоваться доменными адресами, необходимо при настройке соединения указать адреса сервера доменных имен (Domain Name Server, DNS). Обратившись на один из таких серверов, Ваш компьютер получит цифровой адрес IP, соответствующий любому заданному доменному имени (если, разумеется, оно существует). Адрес сервера DNS необходимо при этом указать в цифровом виде.

К Интернету подключены и другие глобальные компьютерные сети, такие, например, как Compuserve, FidoNet, MCImail, UUCP и т. д. Абоненты этих сетей применяют свои собственные схемы формирования адресов. А через выделенные для этого узлы, называемые шлюзами, почта попадает из Интернета в другие глобальные сети, однако для этого пользователю надо указать адрес назначения специальным образом.

Например, адреса сети Compuserve состоят из двух чисел, разделенных запятой. Чтобы послать из Интернета письмо абоненту с адресом 1234,5678, используйте адрес 1234.5678@compuserve.com (адрес указан только для примера, не пытайтесь отправлять по нему какие-либо сообщения).

Сеть FidoNet

До широкого распространения Интернета в нашей стране пользовалась популярностью (и популярна до сих пор) некоммерческая сеть компьютеров с названием FidoNet, многие узлы которой содержат электронные доски объявлений (станции) BBS (Bulletin Board System, BBS).

Электронная доска объявлений и узел сети FidoNet представляет собой компьютер, к которому подключено несколько модемов. На нем работают специальные программы, позволяющие пользователям подключаться к компьютеру, обмениваться файлами и сообщениями.

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

Аналогичным образом указывают и цифровой адрес любительской сети FidoNet. Этот адрес состоит из четырех чисел и записывается в виде x:y/t.u, где x, y, t и u — целые числа. В дополнение к цифровому адресу надо указать имя и фамилию латинскими символами.

Для того чтобы послать почту абоненту сети FidoNet из Интернета, можно использовать один из специально предназначенных для этого шлюзов, например fidonet.org. В этом случае адрес вида name family x:y/t.u нужно преобразовать в адрес name.family@pu.ft.ny.zx.fidonet.org.

Например, адрес Ivan Petrov 1:2/3.4 (указан только для примера) преобразуется в адрес Ivan.Petrov@p4.f3.n2.z1.fidonet.org. По правилам хорошего тона (они существуют и для обмена почтовыми сообщениями), корреспондент, посылающий письмо из сети FidoNet в Интернет, должен сообщить адрес, по которому он ожидает ответ.

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

Современные почтовые протоколы

Как мы уже говорили, на заре своего существования электронную почту передавали по протоколу UUCP. Сегодня для передачи и приема почты используются следующие протоколы:

·         простой протокол передачи почты (Simple Mail Transfer Protocol, SMTP);

·         протокол почтового отделения (Post Office Protocol, POP);

·         протокол доступа к сообщениям Интернета (Internet Message Access Protocol, IMAP)

Все они описаны в документах RFC.

Что представляют собой эти документы?

В 1969 году специалистами организации под названием Рабочая группа инженеров Интернета (Internet Engineering Task Force, IETF) была создана серия документов Request for Comments (RFC), содержащих рекомендуемые стандарты и технологии для применения в Интернете. Обыкновенному пользователю едва ли когда-нибудь придется изучать документы RFC. Однако разработчикам сервисов и программ эти документы просто необходимы.

По мере создания новым документам RFC присваиваются последовательные номера. Даже новый документ, замещающий существующий, получает новый номер. Таким образом, номера документов RFC повторно не используются.

Документы RFC разделяются по необходимости применения и степени готовности.

С точки зрения необходимости использования документы RFC подразделяются на обязательные к применению (Required), рекомендованные (Recommended), факультативные (Elective), ограниченного применения (Limited Use) и не рекомендуемые к использованию (Not Recommended). 

Заметим, что все эти документы носят рекомендательный характер — никто не обязывает разработчиков аппаратного и программного обеспечения для Интернета следовать им в точности. Однако на практике ситуация такова: если созданные программы и системы не удовлетворяют требованиям, которые сформулированы в документах RFC, обязательных к применению (Required), то они не будут работать в Интернете. Например, это касается протокола IP. Поэтому, хотя никто и не заставляет разработчиков, те строго соблюдают требования документов RFC, иначе продукт окажется несовместимым со стандартами, реализованными в Интернете. А значит, не найдет своего потребителя.

По степени готовности различают экспериментальные (Experimental), предлагаемые к использованию (Proposed), черновые (Draft) и стандартные (Internet Standard) документы RFC. Кроме того, документы RFC подразделяются на информационные (Informational) и исторические (Historic).

В последующих разделах мы будем ссылаться на те или иные документы RFC, указывая их номер. По нему Вы легко найдете документ и загрузите его с соответствующего сервера (например, c http://www.rfc-editor.org).

Протокол SMTP

Простой протокол передачи почты Simple Mail Transfer Protocol (SMTP) предназначен только для передачи почты. Обычно его используют в паре с протоколами POP3 и IMAP, обеспечивающими прием почтовых сообщений.

Работа протокола SMTP основана на передаче текстовых строк. После того как почтовая программа установит соединение с почтовым сервером провайдера, между ней и сервером начинается обмен текстовыми строками.

Чуть позже мы покажем примерный сценарий такого обмена.

Например, почтовая программа установила соединение с почтовым сервером smtp.galsnet.ru. Это доменный адрес сервера SMTP компании провайдера Гласнет. Если Вы подключены к другому провайдеру, то и адрес сервера SMTP будет иным.

Сразу после установки соединения почтовый сервер посылает почтовой программе сообщение следующего вида:

220-hawk.glas.apc.org Smail-3.2.0.109 (#4 1999-Nov-10) ready at Sun, 26 Dec 1999
20:42:55 +0300 (MSK)
220 ESMTP supported

Для другого сервера внешний вид приглашения будет отличаться от приведенного выше.

В ответ почтовая программа отправляет серверу SMTP команду подключения HELO, передавая ей в качестве параметра доменный адрес сервера:

HELO smtp.glasnet.ru

Если подключение выполнено без ошибок, сервер должен ответить сообщением с кодом 250:

250 hawk.glas.apc.org Hello smtp.glasnet.ru (smtp.glasnet.ru from address [195.178.200.74]).

Далее почтовая программа продолжит диалог с сервером. Теперь она отправит серверу команду MAIL FROM с адресом отправителя:

MAIL FROM: alexandre@frolov.pp.ru

Здесь в качестве адреса отправителя используется наш электронный почтовый адрес alexandre@frolov.pp.ru, так как мы отправляли сообщение именно снего.

В ответ почтовая программа получает следующее сообщение с кодом 250:

250 2.1.0 alexandre@frolov.pp.ru Sender Okay.

Теперь она должна сообщить серверу адрес получателя. Например:

RCPT TO: a_frolov@hotmail.com

Здесь указан наш второй адрес электронной почты на сервере Hotmail. Об этом сервере мы Вам расскажем в главе 5.

В ответ сервер посылает почтовой программе подтверждение следующего вида:

250 2.1.0 'a_frolov@hotmail.com' Recipient Okay.

Далее почтовая программа передает серверу команду, свидетельствующую о готовности к началу передачи данных (то есть тела сообщения):

DATA

В ответ она получает приглашение для ввода текста сообщения с кодом 354:

354 Enter mail, end with "." on a line by itself...

Далее почтовая программа передает серверу строки заголовка сообщения, начиная с Subject:

SUBJECT:Test

Передав все строки заголовка, почтовая программа отправляет серверу пустую строку и строки тела сообщения. Завершает ввод строка, состоящая из одной точки в первой позиции:

This is test
.

В нашем послании тело сообщения состоит только из одной строки (что вполне допустимо).

Сообщение будет отправлено, а почтовая программа получит извещение об этом в следующем виде:

250 2.6.0 Mail accepted, queue ID m122Hir-001oz7n.

Как видите, протокол SMTP действительно оправдывает свое название — он весьма прост: описание его работы занимает всего лишь страницу книги. В действительности мы опустили некоторые несущественные детали, не меняющие сути дела.

Обратите внимание, что текст сообщения передается в открытом виде, а для соединения с почтовым сервером не нужно указывать идентификатор пользователя и пароль. Из этого следует, что протокол SMTP не обеспечивает никакой, даже самой слабой защиты передаваемой информации. Ее легко перехватить или подделать.

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

В табл. 2-2 мы кратко описали основные команды протокола SMTP.

Таблица 2-2. Команды SMTP

Команда

Параметр

Описание

HELO

Доменное имя сервера

Создание канала связи с сервером SMTP

QUIT

Нет

Закрытие канала связи с сервером SMTP

MAIL

FROM: обратный адрес

Запуск передачи почты

RCPT

TO: адрес получателя

Сообщение серверу адреса получателя

DATA

Нет

Запуск передачи данных

VRFY

имя пользователя

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

EXPN

Имя списка рассылки

Проверка существования списка рассылки и пополнение его новыми данными

HELP

Нет

Запрос от сервера списка допустимых команд

NOOP

Нет

Пустая операция (в ответ на эту команду почтовый сервер не выполняет никаких операций)

RSET

Нет

Повторная инициализация сеанса связи с сервером

Более подробно протокол SMTP и все его команды описаны в документе RFC 821.

Протокол POP3

Протокол почтового отделения Post Office Protocol версии 3 — POP3 — предназначен для получения почты с сервера и обычно применяется вместе с только что описанным протоколом SMTP.

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

Когда почтовая программа загружает сообщение с сервера POP3, она может либо удалить оригинал сообщения, либо оставить его на постоянное или временное хранение.

Строго говоря, протокол POP3, в отличие от своего предшественника POP2, способен не только принимать, но и передавать сообщения. Поэтому при его использовании протокол SMTP не требуется. Однако многие почтовые программы все же используют оба протокола — и SMTP, и POP3.

Чтобы Вы получили некоторое представление о том, что представляет собой протокол POP3, расскажем, как с его помощью почтовые программы получают информацию о содержимом почтового ящика пользователя и загружают сообщения. В качестве примера мы рассмотрим сервер POP3 с вымышленным именем pop3.goods.ru (не пытайтесь обращаться к нему; если хотите потренироваться, воспользуйтесь сервером своего провайдера).

После того как почтовая программа установит соединение с сервером POP3, она получает от него сообщение следующего вида:

+OK QPOP (version 2.53) at pop3.goods.ru starting.

В ответ она посылает серверу команду подключения USER, указывая в качестве параметра идентификатор пользователя username:

USER username

Сервер отправляет почтовой программе сообщение о необходимости предоставления пароля пользователя с идентификатором username:

+OK Password required for username.

Почтовая программа пересылает его с помощью команды PASS:

PASS *******

Далее сервер «докладывает» почтовой программе, сколько сообщений хранится в почтовом ящике пользователя и сколько они занимают места на диске сервера:

+OK username has 6 messages (27973 octets).

Эта же информация может быть получена посредством команды STAT:

STAT
+OK 6 27973

Команда LIST позволяет почтовой программе дополнительно получить список сообщений, хранящихся в почтовом ящике пользователя:

LIST
+OK 6 messages (27973 octets)
1 3084
2 6132
3 1026
4 2735
5 7453
6 7543
.

Для каждого сообщения в списке приводится его размер в количестве символов. Список завершается строкой, состоящей из одной точки.

Если команде LIST указать номер сообщения, сервер выдаст информацию только о заданном сообщении:

LIST 1
+OK 1 3084

Чтобы извлечь полный текст сообщения с заданным номером, почтовая программа должна отправить серверу POP3 команду RETR, указав номер сообщения в качестве параметра:

RETR 4

Командой TOP можно извлечь только часть сообщения. Команде нужно передать два параметра — номер сообщения и количество извлекаемых строк сообщения:

TOP 4 10

Вот что вернул сервер в ответ на эту команду:

+OK 2735 octets
Return-path: <alexandre@frolov.pp.ru>
Envelope-to: alexandre@frolov.pp.ru
Delivery-date: Thu, 11 May 2000 22:28:04 +0400
Received: from [193.124.5.42] (helo=nnfalcon.glasnet.ru)
 by pop3.goods.ru with esmtp (Exim 3.10 #1) id 12pxgq-00018O-00
 for alexandre@frolov.pp.ru; Thu, 11 May 2000 22:28:04 +0400
Received: from hawk.glasnet.ru([193.124.5.50]) (2123 bytes) by nnfalcon.glasnet.ru
 via sendmail with P:esmtp/R:inet_hosts/T:inet_zone_smtp
 (sender: <alexandre@frolov.pp.ru>)
 id <m12pxYP-0015w9n@nnfalcon.glasnet.ru>
 for <alexandre@frolov.pp.ru>; Thu, 11 May 2000 22:19:21 +0400 (MSD)
 (Smail-3.2.0.111 2000-Feb-17 #1 built 2000-Mar-3)
Received: from saturn(ppp1283.glas.apc.org[194.154.81.229]) (1782 bytes) by hawk.glasnet.ru
 via sendmail with P:smtp/R:smart_host/T:smtp
 (sender: <alexandre@frolov.pp.ru>)
 id <m12pxYN-001ozkn@hawk.glasnet.ru>
 for <alexandre@frolov.pp.ru>; Thu, 11 May 2000 22:19:19 +0400 (MSD)
 (Smail-3.2.0.111 2000-Feb-17 #1 built 2000-Mar-3)
Message-ID: <002401bfbb75$b1f31990$140115ac@saturn>
Reply-To: "Alexandre Frolov" <alexandre@frolov.pp.ru>
From: "Alexandre Frolov" <alexandre@frolov.pp.ru>
To: <alexandre@frolov.pp.ru>
Subject: Test message
Date: Thu, 11 May 2000 21:43:41 +0400
MIME-Version: 1.0
Content-Type: multipart/alternative;
        boundary="----=_NextPart_000_001D_01BFBB91.F92D4990"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.2919.6600
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600
X-UIDL: 04ed453aebf416737f367b9af906d5a0
Status: RO

This is a multi-part message in MIME format.

------=_NextPart_000_001D_01BFBB91.F92D4990
Content-Type: text/plain;
        charset="koi8-r"
Content-Transfer-Encoding: quoted-printable

This is test message
.

Почтовая программа анализирует ответ сервера POP3, извлекает из него поля заголовка, текст сообщения и отображает все это в окне просмотра сообщения.

В табл. 2-3 мы кратко описали некоторые команды протокола POP3. Полную информацию о протоколе POP3 и его командах Вы найдете в документе RFC 1939.

Таблица 2-3. Команды POP3

Команда

Параметры

Описание

USER

идентификатор пользователя

Передает серверу POP3 идентификатор пользователя

PASS

пароль пользователя

Передает серверу POP3 пароль пользователя

STAT

-

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

LIST

[номер сообщения]

Если команда использована без параметра, возвращается список сообщений с номерами, если указан номер сообщения, то команда передает информацию о данном сообщении (номер и размер сообщения)

RETR

номер сообщения

Сервер передает почтовой программе полный текст сообщения с заданным номером

TOP

номер сообщения, количество извлекаемых строк

Сервер передает почтовой программе заданное количество первых строк сообщения с заданным номером

DELE

номер сообщения

Удаление сообщения с заданным номером

RSET

-

Отмена операции удаления сообщений, выполненных командой DELE

NOOP

-

Пустая операция (в ответ на эту команду почтовый сервер не выполняет никаких операций)

QUIT

-

Завершение сеанса связи с сервером

Команды TOP и DELE позволяют почтовой программе выполнить частичную загрузку сообщений. Если пользователь решит, что некоторые из них ему не нужны, он удалит их. Таким образом, удается избежать загрузки ненужных сообщений большого размера. К сожалению, подобная возможность реализована не во всех почтовых программах.

Протокол IMAP

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

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

Тем не менее в последнее время все более популярна становится такая услуга, как постоянное подключение к Интернету: Вы платите фиксированную сумму в месяц и получаете неограниченный доступ в глобальную сеть. При этом для работы с электронной почтой удобнее использовать современный протокол доступа к сообщениям Интернета Internet Message Access Protocol (IMAP). Он описан в документе RFC 2060 и используется совместно с протоколом SMTP.

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

Что же касается новых сообщений, то, как только Вы их создадите, они немедленно будут скопированы на почтовый сервер и затем переданы адресату.

Среди возможностей четвертой версии этого протокола — IMAP4 нам хотелось бы отметить поиск сообщений, хранящихся на сервере, по ключевым словам.

Заметим, что протокол POP3 тоже позволяет отказаться от загрузки некоторых сообщений, параметры которых описаны в специальном фильтре. Например, от сообщений, пришедших с каких-то конкретных адресов или содержащие в своем теле или в строке Тема (Subject) какие либо слова. Однако в этом режиме Вы не сможете просмотреть заголовки отвергнутой почты, так как она сразу по поступлении удаляется с сервера.

Режим постоянного подключения к Интернету или тарифный план без ограничения времени подключения позволяет, не торопясь, просматривать сообщения и загружать их при необходимости с почтового сервера с помощью протокола IMAP. Но если Вам приходится оплачивать каждую минуту сеанса связи с Интернетом, лучше воспользоваться протоколами SMTP и POP3.

Выбор почтовой программы

За время существования электронной почты разработано немало почтовых программ, предназначенных для работы в среде различных операционных систем. К ним относятся утилиты, запускаемые в командной строке, программы с несложным пользовательским интерфейсом, предназначенные для работы в среде DOS с применением протокола UUCP, многочисленные почтовые приложения, ориентированные на Microsoft Windows различных версий, а также на другие операционные системы с графическим интерфейсом пользователя. Некоторые из этих программ распространяются бесплатно, другие надо покупать.

Как выбрать почтовую программу, чтобы с ней было удобно работать?

Если Вы собираетесь отправлять и принимать сообщения на русском языке, обратите внимание на такую программу, которая способна работать, по крайней мере, с наборами символов KOI-8 и Windows CP-1251. В противном случае для просмотра сообщений придется пользоваться дополнительными утилитами (одну из них мы опишем в главе 6).

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

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

Что же касается самих передаваемых сообщений, то Вам наверняка понадобится, чтобы программа умела их создавать не только в виде простого текста без шрифтового и стилевого оформления, но и в виде документов HTML. Тогда ваши сообщения будут выгодно отличаться красочным оформлением.

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

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

Также важно, чтобы пользовательский интерфейс почтовой программы был выполнен в соответствии со стандартами операционной системы Microsoft Windows. В частности, такие операции, как добавление к сообщению присоединенного файла, извлечение присоединенного файла из сообщения, перемещение сообщения по папкам должны выполняться мышью. Удобно, когда при запуске почтовой программы соединение с Интернетом устанавливается автоматически.

Напомним Вам, что существуют две возможности работать с электронной почтой.

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

Во-вторых, в Интернете существуют бесплатные серверы Web (мы еще о них Вам расскажем), предназначенные для работы с почтой посредством браузеров. Такие серверы позволяют обходиться вообще без почтовых программ. Браузеры представляют собой программы просмотра содержимого серверов Web. Мы подробно рассказали о них и о серверах Web в первом томе серии «Ваш спутник в Интернете» с названием «Всемирная паутина».

Microsoft Outlook Express

Прежде всего, мы советуем обратить внимание на бесплатное приложение Microsoft Outlook Express (рис. 1-5), которое поставляется в составе браузера Microsoft Internet Explorer.

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

Рис. 1-5. Окно приложения Microsoft Outlook Express

Если Вы уже приобрели дистрибутив браузера Microsoft Internet Explorer версии 5.0 или 5.01, значит, Вы стали счастливым обладателем мощной и современной почтовой программы. Напомним, что в состав новейшей операционной системы Microsoft Windows 2000 входит именно эта версия браузера. При необходимости браузер Microsoft Internet Explorer можно бесплатно загрузить через Интернет с сервера Web компании Microsoft.

Нам кажется, что причин, по которым можно предпочесть программе Microsoft Outlook Express что-то еще, очень и очень мало. Тем не менее мы не навязываем свое мнение остальным, поэтому в следующих разделах мы перечислим другие, тоже весьма популярные почтовые программы, а в следующих главах мы расскажем о них подробнее.

Netscape Messanger

Одна из них — бесплатная почтовая программа Netscape Messanger, входящая в состав браузера Netscape Communicator. Внешний вид главного окна этой программы мы показали на рис. 1-6.

Рис. 1-6. Внешний вид главного окна почтовой программы Netscape Messanger

Возможности этой программы ни в чем не уступают возможностям приложения Microsoft Outlook Express. Netscape Messanger «понимает» различные наборы символов кириллицы, умеет работать с почтовыми сообщениями, подготовленными с использованием языка HTML, совместима с протоколами SMTP, POP3 и IMAP и, так же как и Microsoft Outlook Express, снабжена записной книжкой для хранения электронных почтовых адресов. Внешний вид главного окна этой программы также заслуживает всяческих похвал.

Фактически с этой программой возникает только одна проблема — ее нужно загружать из Интернета вместе с браузером Netscape Communicator, тогда как приложение Microsoft Outlook Express уже входит в состав операционных систем Microsoft Windows 98 и Microsoft Windows 2000.

The Bat!

Ей посвящена четвертая глава книги. Условно-бесплатную программу The Bat! можно загрузить с сервера http://www.ritlabs.com.

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

Рис. 1-7. Окно почтовой программы The Bat!

Более того, программа The Bat! способна работать со всеми основными наборами символов кириллицы. В программу встроена система проверки орфографии, что позволяет избавиться от ошибок при наборе текста на русском и нескольких других языках (например, на английском и немецком). Проверка орфографии выполняется по мере ввода текста. Слова с ошибками подчеркиваются красной волнистой линией, как в текстовом процессоре Microsoft Word.

И хотя средства оформления сообщений с помощью встроенного редактора в этой программе беднее, чем в двух упомянутых нами ранее почтовых программах, она понравится тем, кого интересует передача зашифрованных или подписанных текстов. Кстати, наряду с программой The Bat!, такую возможность предоставляют и другие почтовые программы, однако чтобы ею воспользоваться, необходимо получить сертификат. Эта процедура выполняется бесплатно.

Позже мы познакомим Вас с этой программой подробнее.

Почтовая система Microsoft Hotmail

Для того чтобы принимать и отправлять электронную почту вовсе не обязательно пользоваться специальной почтовой программой. В Интернете существует немало бесплатных серверов Web, позволяющих выполнять эту операцию с помощью браузера.

На рис. 1-8 в качестве примера мы показали страницу одного из таких серверов, принадлежащих компании Microsoft.

Рис. 1-8. Страница сервера Microsoft Hotmail

Элементы управления и ссылки, расположенные на страницах сервера, позволят Вам выполнять все самые необходимые операции с сообщениями. Например, добавить к сообщению произвольный дополнительный файл.

Хотя на работу с электронной почтой посредством браузера обычно уходит больше времени (соответственно, увеличиваются Ваши затраты на оплату времени соединения), электронный почтовый адрес, созданный при помощи подобных серверов, не зависит от конкретного провайдера, что в наших нестабильных условиях весьма привлекательно. Тем не менее, существование такого адреса будет зависеть от существования почтовой службы, например, Microsoft Hotmail.

Проект бесплатной почты компании ORC

Заслуживает внимания новый проект бесплатной почты «Новая почта» московского провайдера ORC (http://www.orc.ru). Сервер этого проекта (рис. 1-9) расположен в Интернете по адресу http://www.newmail.ru.

Рис. 1-9. Страница сервера почтовой службы «Новая почта»

Помимо трех бесплатных адресов электронной почты, пользователь этой службы получает в свое распоряжение 16 Мбайт дискового объема для размещения виртуальных серверов Web. На сервере службы имеются каналы общения реального времени и каналы новостей, причем пользователь имеет право создавать собственные каналы.

Мы расскажем об этом проекте более подробно в главе 5, посвященной бесплатным почтовым системам, созданным на базе серверов Web.

Виртуальный сервер Web

Для размещения сервера Web можно выделить отдельный компьютер, однако, это довольно дорогостоящее решение. Вместо этого во многих случаях на одном, достаточно мощном компьютере размещают сразу несколько серверов Web. Страницы HTML и другие файлы этих серверов, называемых виртуальными серверами Web, располагаются в различных каталогах одного и того же компьютера.

Каждому виртуальному серверу Web присвоен собственные адрес IP и доменное имя. Фактически пользователи Интернета не имеют никакой возможности определить, находится тот или иной сервер Web на отдельном компьютере или он размещен вместе с другими серверами Web на одном и том же компьютере.

В рамках описанного выше проекта «Новая почта» компания ORC бесплатно предоставляет пользователям возможность создания до трех таких виртуальных серверов. Однако есть условие: они должны располагаться в одном из доменов newmail.ru, hotmail.ru или nm.ru, а общий объем расположенных на них файлов не должен превышать 16 Мбайт. Кроме того, пользователям не разрешается размещать на них базы данных и другие активные компоненты.

Что же касается полноценного виртуального сервера Web, то его можно создать на дисках ORC или любого другого провайдера, однако эта услуга платная. Стоимость ее зависит не только от объема размещенных файлов, но и от набора дополнительных услуг, которыми Вы будете пользоваться. К ним относится создание баз данных, размещение почтовых серверов или самостоятельно разработанных активных компонентов сервера Web.

Работа в текстовом режиме

Как мы уже говорили, некоторые провайдеры предоставляют своим клиентам доступ к почтовой системе в терминальном режиме. Хотя на практике такой режим в наши дни используется очень редко, мы о нем все-таки расскажем.

Подключение к серверу

Чтобы подключиться к серверу, Вам придется запустить любую терминальную программу, такую, например, как Microsoft HyperTerminal (рис. 1-10).

Рис. 1-10. Сеанс связи, выполняемый средствами программы HyperTerminal

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

[this dialin modem is ZyXEL U-1496E 16.8]
GlasNet (glas.apc.org)  Need Help?
+7-095 ХХХ-ХХХХ
login:

В ответ Вы вводите свой идентификатор, например:

login: ivanov

Программа запросит пароль:

Password:

При вводе символы пароля не отображаются (или заменяются звездочками, что зависит от провайдера).

Если пароль введен правильно, на экране появится запрос для ввода типа терминала, который эмулирует Ваша терминальная программа:

Last login: Sat Feb  3 23:22:10 from T-kv01-1+
Terminal = vt100 (hit <RETURN> or enter new terminal type):

Если терминал соответствует стандарту VT100 (по умолчанию это верно для терминальной программы Microsoft HyperTerminal), просто нажмите клавишу Enter. Вы попадете в главное меню программы, предоставляющей доступ ко всем услугам провайдера:

Welcome to GlasNet.  For help, type "?"
You have new conf entries in glas.netnews.e glas.netnews.r ...
GlasNet Commands:
     c    -- Conferences
     m    -- Electronic Mail
     i    -- Internet Services
     d    -- Online Databases
     u    -- User Directory
     p    -- Payments
     s    -- Setup: Change your password, language, terminal type
     e    -- Extras
     bye  -- Logout
Your selection (? or 'h' for help):

Выбор режима работы с электронной почтой

Для того чтобы работать с электронной почтой в текстовом режиме, необходимо ввести в ответ на приглашение символ m, выбрав таким способом из главного меню строку Electronic Mail.

Если Ваш почтовый ящик (который физически находится на сервере провайдера) пуст, Вы увидите следующее сообщение и меню:

Folder (incoming) is empty.
Reading folder: incoming...0 messages
Type 'u' for next unread message, '?' for command summary, 'h' for more help.

Mail: (i)ndex (u)nread (w)rite (c)apture (d)elete (s)ave (h)elp (q)uit:

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

Создание нового сообщения

Для того чтобы продемонстрировать простейшие приемы работы с электронной почтой в терминальном режиме, мы отправим сами себе маленькое письмо, состоящее из одной строки. Выберем из меню Mail строку write. Это можно сделать, если в ответ на приглашение ввести символ w:

Mail:(i)ndex (u)nread (w)rite (c)apture (d)elete (s)ave (h)elp (q)uit:w

После этого программа, работающая на сервере провайдера, спросит у Вас, желаете ли Вы ответить на сообщение, послать новое сообщение или послать копию сообщения:

Do you want: (r)eply reply with (c)opy (n)ew message (s)end copy ? n

Так как мы посылаем новое сообщение, то вводим символ n. В ответ будет предложено ввести электронный адрес корреспондента:

To: alexandre@frolov.pp.ru

Здесь мы набрали свой собственный адрес, так как собрались посылать письмо самим себе. После адреса Вам придется ввести краткое описание содержимого письма.

Subject: Test message

Далее Вам будет предложено либо набрать текст письма, либо указать путь к заранее подготовленному файлу с письмом:

Hit <RETURN> or <ENTER> to type in a message, or 'u' to (u)pload a file:

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

---------------------------------------------------------------------
Begin typing; press <RETURN> at the end of each line.
End with a line containing only a period.
---------------------------------------------------------------------
Tishis is a test message
.

Последняя строка письма должна состоять из одной точки, расположенной в первой позиции. Это признак конца сообщения. Текст сообщения состоит из одной строки Tishis is a test message (мы специально сделали ошибку в первом слове, чтобы показать Вам, как можно редактировать сообщение).

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

Hit <RETURN> or <ENTER> to send text, 'e' to edit: e

Редактирование и отправка сообщения

Если в ответ на сообщение, приведенное выше, Вы нажмете клавишу Enter еще раз, письмо будет отправлено по назначению. Если же Вы введете символ e, то получите возможность его отредактировать. При этом на экране появится меню Edit:

Edit:(a)dd (f)ormat (v)iew (r)eview (c)hange (u)pload (s)end (q)uit(?):v

Для просмотра текста сообщения введите символ v:
-- start of text --
Tishis is a test message
-- end of text --

Edit:(a)dd (f)ormat (v)iew (r)eview (c)hange (u)pload (s)end (q)uit(?):c

Мы заменим слово, введенное с ошибкой. Для этого наберем символ c, чтобы инициировать операцию замены. Вам придется сначала ввести ошибочное слово и затем правильный вариант:

Enter old pattern: Tishis
Enter new pattern: This

This is test message
1 change [Hit <RETURN> or <ENTER> to confirm, 'n' for no change]:

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

Сделав замену, введите в меню Edit еще раз символ v, чтобы просмотреть результат:

Edit:(a)dd (f)ormat (v)iew (r)eview (c)hange (u)pload (s)end (q)uit(?):v

-- start of text --
This is a test message
-- end of text –-

Теперь, похоже, ошибок нет, и можно отправлять письмо. Выберите из меню Edit строку send, для чего введите символ s:

Edit:(a)dd (f)ormat (v)iew (r)eview (c)hange (u)pload (s)end (q)uit(?):s
Hit <RETURN> or <ENTER> to send text, 'e' to edit:

Далее нажмите клавишу Enter. На экране появится приглашение для ввода электронного адреса, по которому следует отправить копию письма:

Cc:

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

Message sent.
Mail: (i)ndex (u)nread (w)rite (c)apture (d)elete (s)ave (h)elp (q)uit:

Через некоторое время письмо должно оказаться в нашем почтовом ящике, в чем мы убедимся, если из меню Mail выберем строку index:

Mail:(i)ndex (u)nread (w)rite (c)apture (d)elete (s)ave (h)elp (q)uit:I

 Date    #       Subject                          Lines  From
 ----    -       -------                          -----  ----
 Mar  2  1*      Test message                     11     frolov

Из последней строки приведенного выше фрагмента ясно, что 2 марта было получено письмо, которое хранится в почтовом ящике под номером 1. Символ * около номера письма указывает, что письмо еще не прочитано (так и есть на самом деле). В столбце Subject отображается краткое его содержимое. Именно по нему Вы легко отыщете нужное послание, если в ящике скопилось много писем. Столбец Lines позволит Вам оценить размер письма. Обратите внимание, что, хотя мы посылали сообщение, состоящее только из одной строки, в полученном письме этих строк стало 11 — к письму добавлен заголовок. И наконец, в поле From указан адрес отправителя письма.

Загрузка полученного сообщения

Теперь мы покажем, как переписать полученное сообщение из почтового ящика, расположенного на сервере провайдера, к на локальный диск своего компьютера. Для этого из меню Mail выберем строку capture:

Mail:(i)ndex (u)nread (w)rite (c)apture (d)elete (s)ave (h)elp (q)uit:c

В ответ на следующие вопросы введем символ d и укажем номер загружаемого сообщения, под которым оно хранится в почтовом ящике:

Do you want to (d)ownload message or switch (p)aging On/Off? d
Enter message number: 1

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

Found plain 7-bits text for download.
309 bytes to download.
Protocol: (a)scii-text (k)ermit (x)modem (y)modem (z)modem (f)tp
(? for help): z

В ответ на следующее приглашение введем имя файла, в который будет записан текст письма, и нажмем клавишу Enter:

Enter filename to store message in: testmsg.txt

При выборе протокола передачи данных zmodem, автоматически начнется передача данных. После ее завершении следует нажать клавишу Enter:

Please instruct YOUR modem software to RECEIVE using zmodem soon.
 
Hit <RETURN> or <ENTER> when done.

Редактирование содержимого почтового ящика

После того как письмо будет записано на локальный диск компьютера, выберем еще раз в меню Mail строку index:

Mail:(i)ndex (u)nread (w)rite (c)apture (d)elete (s)ave (h)elp (q)uit:I

 Date    #       Subject                          Lines  From
 ----    -       -------                          -----  ----
Mar  2   1       Test message                     11     frolov

Как видите, теперь символ * около номера сообщения исчез, так как мы только что прочитали это сообщение, и теперь оно уже не является новым.

Теперь можно удалить сообщение из почтового ящика. Для этого следует выбрать из меню Mail строку delete и в ответ на дополнительный запрос указать номер удаляемого сообщения:

Mail:(i)ndex (u)nread (w)rite (c)apture (d)elete (s)ave (h)elp (q)uit:d
Enter message number: 1
Message deleted. 
(Type 'und' and <RETURN> NOW to restore all deletions.)

Описанная процедура позволит Вам избавляться от слишком больших сообщений, содержащих множество строк.

[Назад] [Содержание] [Дальше]


Создание интернет-магазинов: http://www.shop2you.ru/ © Александр Фролов, Григорий Фролов, 1991-2016