Смекни!
smekni.com

Электронная почта как сервис глобальной сети. Протоколы передачи почты (стр. 3 из 12)

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

GEnie

Чтобы послать сообщение пользователю GEnie, добавьте "@genie.com" к концу имени пользователя сети GEnie, например:

walt@genie.com

MCIMail

Чтобы послать сообщение кому-нибудь, имеющему раздел в MCIMail, добавьте "@mcimail.com" в конце имени или адреса этого человека. Например:

555-1212@mcimail.com

или
jsmith@mcimail.com

Заметьте, что если в сети MCIMail есть несколько подписчиков с таким именем, то вы получите сообщение от MCI с их именами и числовыми адресами. Выберите того, который вам нужен, и пошлите ваше сообщение снова.

Чтобы послать сообщение вам из MCI, пользователь должен ввести Ваше Имя (EMS) в ответ на приглашение "To:". В ответ на приглашение EMS следует ввести internet, а затем ваш адрес в Сети в ответ на приглашение "Mbx:".

Peacenet

Чтобы послать сообщение пользователю, используется форма:

имя_пользователя@igc.org

Подписчики Peacenet могут посылать сообщения по вашему обычному адресу.

Prodigy

Идентификатор_пользователя@prodigy.com

Имейте в виду, что пользователи Prodigy должны вносить дополнительную плату за электронную почту из Internet.

1.3. Формат почтового сообщения.

Для того, чтобы электронное письмо дошло до своего адресата, необхо­димо, чтобы оно было оформлено в соответствии с международными стандартами и имело стандартизованный почтовый электронный адрес. Как уже говорилось выше, общепринятый формат посла­ния определяется документом под названием "Standard for the Format of ARPA – Internet Text messages", сокращенно - Request for Comment или RFC822, и имеет заголовок и непосредственно сообщение.

Рассмотрим пример почтового сообщения:

Received: by avg386.kiae.su; Thu, 20 Dec 90 13:51:59 MSK

Received: by jumbo.kiae.su; Thu, 20 Dec 90 12:52:17 MSK

Received: from CS.ORST.EDU by fuug.fi with SMTP id AA15539 (5.65+/IDA-1.3.5 for avg@kiae.su); Thu, 20 Dec 90 08:19:05 +0200

Received: from jacobs.CS.ORST.EDU by CS.ORST.EDU (5.59/1.15) id AA19981; Wed, 19 Dec 90 22:19:59 PST

Received: by jacobs.CS.ORST.EDU (5.54/1.14) id AA02240; Wed, 19 Dec 90 23:19:35 MST

Date: Wed, 19 Dec 90 23:19:35 MST

From: Harry Brooks <brooksh@jacobs.cs.orst.edu>

Message-Id: <9012200619.AA02240@jacobs.CS.ORST.EDU>

To: avg@kiae.su

Subject: Re: wondering if you attended?

Status: RO

gosh, i wish that you were not so far away

that we could face each other and speak of

your interests--computers, girls, nature and drinks!

no, i do not know Russian history--only the sketch and

collected memory of pieces read and heard...

was infatuated by Dostevosky

harry

//interrupted for talking to a friend--bye--more later.

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

Здесь первые четырнадцать строчек составляют заголовок. Заметим, что каж­дая из строк заголовка имеет вид:

название: текст

Названия строк заголовка расшифровываются так:

Received: отметка о прохождении через машину (почтовый штемпель). У нашего письма таких отметок пять, значит, по пути оно прошло через пять машин, и каж­дая из них обозначила, когда оно проходило.

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

From: имя отправителя и обратный адрес <отделен угловыми скобками>.

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

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

Subject: тема сообщения. Пометка Re: обозначает, что это сообщение – ответ (от слова reply) на другое сообщение. У исходного сообщения и у ответа строка Subject: одна и та же. При составлении автором ответа почтовая служба автоматически взяла тему из исходного сообщения. Это удобно, когда идет длинный разговор на одну тему. Вы сможете потребовать, чтобы почтовая служба отсортировала сообщения по темам, и освежить в памяти предыдущие фразы этого разговора.

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

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

Бывает еще несколько видов строк заголовка. Не все они обязательно должны быть. Некоторые строки почтовые службы добавляют автоматически (Received:, Date:), другие задает сам автор письма (To:, Subject:).

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

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

2. Протоколы приёма и передачи почты.

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

Теперь рассмотрим эти протоколы более подробно.

2.1. Простой протокол передачи почты (SMTP).

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

Рис.1 Схема взаимодействия по протоколу SMTP

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

2.1.1. Команды SMTP и их последовательность.

Простой протокол передачи почты обеспечивает двухсторонний обмен сообщениями между локальным клиентом и удаленным сервером МТА. МТА-клиент шлет команды МТА-серверу, а он, в свою очередь, отвечает клиенту. Другими словами, протокол SMTP требует получать ответы от приемника команд SMTP. Обмен командами и ответами на них называется почтовой транзакцией (mail transaction). Данные передаются в формате NVT ASCII. Кроме того, команды тоже передаются в формате NVT ASCII. Команды передаются в форме ключевых слов, а не специальных символов, и указывают на необходимость совершить ту или иную операцию. В табл. 1 приведен список ключевых слов (команд), определенный в спецификации SMTP.

Таблица 1

Команды простого протокола передачи почты (SMTP)

Команда Обязательна Описание
HELO Х Идентифицирует модуль-передатчик для модуля-приемника (hello).
MAIL X Начинает почтовую транзакцию, которая завершается передачей данных в один или несколько почтовых ящиков (mail).
RCPT Х Идентифицирует получателя почтового сообщения (recipient).
DATA Строки, следующие за этой командой, рассматриваются получателем как данные почтового сообщения. В случае SMTP, почтовое сообщение заканчивается комбинацией символов: CRLF-точка-CRLF.
RSET Прерывает текущую почтовую транзакцию (reset).
NOOP Требует от получателя не предпринимать никаких действий, а только выдать ответ ОК. Используется главным образом для тестирования. (No operation.)
QUIT Требует выдать ответ ОК и закрыть текущее соединение.
VRFY Требует от приемника подтвердить, что ее аргумент является действительным именем пользователя.
SEND Начинает почтовую транзакцию, доставляющую данные на один или несколько терминалов (а не в почтовый ящик).
SOML Начинает транзакцию MAIL или SEND, доставляющую данные на один или несколько терминалов или в почтовые ящики.
SAML Начинает транзакцию MAIL и SEND, доставляющие данные на один или несколько терминалов и в почтовые ящики.
EXPN Команда SMTP-прнемнику подтвердить, действительно ли аргумент является адресом почтовой рассылки и если да, вернуть адрес получателя сообщения (expand).
HELP Команда SMTP-приемнику вернуть сообщение-справку о его командах.
TURN Команда SMTP-приемнику либо сказать OK и поменяться ролями, то есть стать STMP-передатчиком, либо послать сообщение-отказ и остаться в роли SMTP-приемника.

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