Автор работы: Пользователь скрыл имя, 24 Апреля 2013 в 18:30, курсовая работа
Электронная почта (e-mail), несомненно, одно из самых популярных приложений. показывает, что примерно половина всех TCP соединений занята передачей почтовых сообщений с использованием простого протокола передачи почты (SMTP - Simple Mail Transfer Protocol). (С точки зрения количества переданных байт, по FTP соединениям передается значительно больше данных.) обнаружил, что среднее почтовое сообщение содержит примерно 1500 байт данных, однако некоторые сообщения содержат мегабайты данных, потому что электронная почта иногда используется для посылки файлов.Пользователи общаются с пользовательскими агентами (user agent). В настоящее время существует очень много реализаций пользовательских агентов. Популярные пользовательские агенты для Unix это MH, Berkeley Mail, Elm и Mush.Обмен почтой с использованием TCP осуществляется посредством агентов передачи сообщений (MTA - message transfer agent).
Введение 4
1. Почтовые системы использующие протокол SMTP 5
1.1 Протокол SMTP (Simple Mail Transfer Protocol) 5
1.2 Как происходит отправка почтовых сообщений 7
1.3 Электронная почта корпорации DaVinci 9
1.4Outlook Express 11
1.5 Thunderbird 20
2. работа протокола SMTP 22
2.1 Алгоритм работы протокола SMTP 22
Схема взаимодействия различных частей почтовой системы 23
2.2 Команды VRFY и EXPN 27
2.3 Некоторые другие команды, используемые в SMTP 30
Список используемой литературы 32
Как уже было сказано, процедура отправки почтового сообщения начинается с посылки команды MAIL, которая имеет формат:
MAIL <SP> FROM:<reverse-path> <CRLF>,
где <SP> - пробел, <CRLF> - комбинация кодов возврата каретки и перехода на новую строку, а <reverse-path> - обратный путь.
Эта команда сообщает SMTP-получателю,
что стартует новая процедура
и следует сбросить в исходное
состояние все статусные
Аргумент может содержать не только адрес почтового ящика, в общем случае является списком адресов ЭВМ-серверов, через которые пришло данное сообщение, включая, разумеется, и адрес почтового ящика отправителя. Первым в списке <reverse-path> стоит адрес ЭВМ-отправителя.
После прохождения команды MAIL посылается команда RCPT:
RCPT <SP> TO:<forward-path> <CRLF>
Эта команда указывает адрес конечного получателя (<forward-path>). При благополучном прохождении команды получатель посылает код-отклик 250 OK, и запоминает полученный адрес. Если получатель неизвестен, SMTP-сервер пошлет отклик 550 Failure reply. Команда RCPT может повторяться сколько угодно раз, если адресат не один.
Аргумент может содержать не только адрес почтового ящика, но и маршрутный список ЭВМ по дороге к нему. Первым в этом списке должно стоять имя ЭВМ, получившей данную команду. По завершении этого этапа посылается собственно сообщение:
DATA <CRLF>
При правильном приеме этого сообщения SMTP-сервер реагирует посылкой отклика 354 Intermediate reply (промежуточный отклик), и рассматривает все последующие строки в качестве почтового текста. При получении кода конца текста отправляется отклик: 250 OK.
Признаком конца почтового сообщения является точка в самом начале строки, за которой следует <CRLF>. Пользователям почтовых UNIX-систем это уже известно.
В некоторых случаях адрес места назначения может содержать ошибку, но получатель знает правильный адрес. Тогда возможны два варианта отклика:
1. 251 User not local; will forward to <forward-path>
Это означает, что получатель берет на себя ответственность за доставку сообщения. Это случается, когда адресат, например, мигрировал в другую субсеть в пределах зоны действия данного почтового сервера.
2. 551 User not local; please try <forward-path>
Получатель знает правильный адрес и предлагает отправителю переадресовать сообщение по адресу <forward-path>.
SMTP имеет команды для проверки
корректности имени адресата (VRFY)
и расширения списка адресов
(EXPN). Обе команды в качестве
аргументов используют строки
символов (в некоторых реализациях
эти две команды по своей
функции идентичны). Для команды
VRFY параметром является имя
Реакция на команду VRFY зависит от аргумента.
Так если среди клиентов почтового
сервера имеется два
250 Vasja Ivanov Ivanov@cl.itep.ru
или:
251 User not local; will forward to Ivanov@cl.itep.ru
или:
550 String does not match anything (данная строка ничему
не соответствует).
или:
551 User not local; please try Vasja@ns.itep.ru
или:
VRFY Chtozachertovchina
553 User ambiguous (несуществующее имя)
В случае пропечатки списка адресов отклик занимает несколько строк, например:
EXPN Example-People
250-Juri Semenov Semenov@ns.itep.ru
250-Alexey Sher Sher@suncom.itep.ru
250-Andrey Bobyshev Bobyshev@ns.itep.ru
250-Igor Gursky Gursky@ns.itep.ru
В некоторых системах аргументом команды EXPN может быть имя файла, содержащего список почтовых адресов.
Основной задачей почты служит доставка сообщений в почтовый ящик адресата. Сходную форму услуги оказывают некоторые ЭВМ, доставляя сообщения на экран терминала (в рамках SMTP). Для посылки сообщений на экран терминала адресата предусмотрено три команды:
1. SEND <SP> FROM:<reverse-path> <CRLF>
Команда SEND требует, чтобы почтовое сообщение было доставлено на терминал. Если терминал адресата не активен в данный момент, то откликом на команду RCPT будет код 450.
2. SOML <SP> FROM:<reverse-path> <CRLF>
Команда Send Or MaiL (SOML) пересылает сообщение на экран адресата, если он активен, в противном случае сообщение будет уложено в его почтовый ящик.
3. SAML <SP> FROM:<reverse-path> <CRLF>
Команда Send And MaiL (SAML) предполагает доставку сообщение на экран терминала адресата и занесение в его почтовый ящик.
Для открытия и закрытия коммуникационного канала используются команды:
HELO <SP> <domain> <CRLF>, где <domain>
- имя запрашивающего домена.
QUIT <CRLF>
Выражение может быть маршрутом, имеющим вид "@ONE,@TWO:VANJA@THREE", где ONE, TWO и THREE - имена ЭВМ. Что подчеркивает различие между адресом и маршрутом. Концептуально элементы из <forward-path> переносятся в <reverse-path> при пересылке сообщений от одного SMTP-сервера к другому.
Если SMTP-сервер обнаружит, что доставка сообщения по адресу <forward-path> невозможна, тогда он формирует сообщение о "не доставленном письме", используя <reverse-path>. Следует также помнить, что ни прямой ни обратный адреса-маршруты, вообще говоря, могут не иметь ничего общего с текстом заголовка почтового сообщения.
При определенных условиях и ошибках в задании прямых и обратных адресов-маршрутов возможно зацикливание сообщений об этих ошибках. Чтобы заведомо избежать этого можно выдавать команду MAIL c нулевым обратным маршрутом:
MAIL FROM:< >
Если вы или ваша программа не указали обратного адреса, не следует думать, что это помешает работе почтовой программы и она не будет знать, куда посылать отклики. Ваш обратный IP-адрес указан в каждом пакете, посылаемом адресату! Практически все почтовые программы позволяют произвольно модифицировать поле <reverse-path>. Это может быть удобно, если вы собираетесь в командировку, но эта возможность широко используется и спамерами.
Команда TURN используется для того, чтобы поменять местами функции программ, взаимодействовавших по телекоммуникационному каналу. Программа-отправитель становится получателем (после того как она выдаст команду TURN и получит отклик 250), а программа-получатель - отправителем. Если программа не хочет или не может поменять свою функцию, она пошлет отклик 502.
Команда RESET (RSET) прерывает текущую процедуру отправки почтового сообщения. Все буферы и таблицы очищаются, получатель должен послать отклик 250 OK.
Команда HELP вынуждает получателя послать справочную информацию отправителю команды HELP. Команда может содержать аргумент (имя команды). Команда не изменяет состояния таблиц или буферов.
Команда NOOP не оказывает влияния на какие-либо параметры или результаты предшествующих команд, она только вынуждает получателя послать отклик 250 OK. Может использоваться для проверки работоспособности TCP-канала.
Допустимо написание команд строчными или прописными символами, например: MAIL, Mail, mail, MaIl или mAIl.
Для того чтобы программа SMTP-сервера была работоспособна, она должна понимать следующий минимум команд: HELO, MAIL, RCPT, DATA, RSET, NOOP, QUIT.
Предельная длина имени
1. Баженова, Ю.И. Delphi 6. Самоучитель программиста.- М.: Кудиц-Образ, 2002.
2. Буза, М.К., Певзнер, Л.В.
Windows-приложения: от операции к реализации:
Учеб. пособие. - Мн.: Высш. шк., 1998.
3. Митчелл, К. Керман. Программирование
и отладка в Delphi. Учебный курс.: Пер. с англ.
- М.: Издательский дом "Вильямс", 2002.
4. Киммел, Пол. Создание приложений в Delphi.: Пер с англ. - М.: Издательский дом "Вильямс", 2003.
5. Сурков, К.А., Сурков, Д.А., Вальвачев, А.Н. Программирование в среде Delphi: Учебный курс. - СПб.: Питер, 2002.
6. Козлов, А.В. Программирование для Интернет в Delphi 5. - М.: ЗАО "Издательство Бином", 2001.
7. Джорджейн, Роберт. Справочник программиста персональных компьютеров типа IBM PC, XT и AT. -М.: Финансы и статистика, 1992.
8. Фаронов, В. Delphi 6. Учебный курс.- СПб.: Питер, 2002.
9. Архангельский, А.Я. Приемы программирования в Delphi 7. - М.: Издательство "Бином", 2004.
10. Архангельский, А.Я. Delphi 7. Учеб. пособие для студентов пед. Вузов - М.: Издательство "Бином", 2004.
11. Архангельский, А.Я. Программирование в Delphi 7. - М.: Издательство "Бином", 2004.
12 Браун, С. "Мозаика" и "Всемирная паутина" для доступа к Internet С. Браун : Пер. с англ. - М.: Мир: Малип: СК Пресс, 2001. - 167с.
13 Колмыкова, Е.А. Информатика: учеб. пособие для студентов среднего профессионального образования Е.А. Колмыкова, И.А. Кумскова. - 4-е изд., стер. - М.: Издательский центр "Академия", 2008. - 416 с.
14 Нольден, М. Ваш первый выход в Internet: Для начинающих пльзователей Internet и широкого круга пользователей PC [Электронный ресурс]// Е.В. Кондукова; К.А. Шиндер. - Спб.: ИКС, 1996. /- Режим доступа: http:// www.sanint.ru
15 Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов Н.Д. Угринович. - М.: БИНОМ. Лаборатория знаний, 2003. - 521 с.
16 Гилстер, П. Новый навигатор Internet[Электронный ресурс]//: Пер с англ. - Киев: Диалектика, 1996. - 495 c. - Режим доступа: http://www.symantec.ru
17 Кент, П. ПК и общество
[Электронный ресурс]// Пер. с англ.
В.Л. Григорьева. - М.: Компьютер, ЮНИТИ,
1996. - Режим доступа: http://www.
18 Симонович С.В. Общая информатика: Учеб. пособие для средней школы [текст]/С.В. Симонович, Г.А Евсеев, А.Г Алексеев. - М.: АСТ-ПРЕСС: Инфорком-Пресс, 2002. - 592 с.
19 Могилев, А.В. Информатика: Учеб. пособие для студ. пед. вузов [текст]/А.В. Могилев, Н.И. Пак, Е.К. Хеннер; Под ред. Е.К. Хеннера. - 3-е изд. перераб и доп. - М.: Издательский центр "Академия", 2004. - 848 с
20 Колесников, О.Э. Компьютер
для делового человека [текст]/О.Э.
Колесников - М.: МЦФ. Издат. фирма "Яуза",
1996. - 281 с. П.Крол Эд. Все об Internet: Руководство
и каталог / Пер. с англ. СМ. Тимачева. - Киев:
BNV, 1995- 591 с.
21 Макаровой, Н.В. Информатика Н.В. Макаровой.
- М.: Финансы и статистика, 1997.