LAB2 Кобец С.Ю (544699)
Текст из файла
Национальный Исследовательский Университет
Московский Энергетический Институт (Технический Университет)
Кафедра прикладной математики
Лабораторная работа №2 по дисциплине ВМСС
Работа с электронной почтой
Выполнил: Кобец С. Ю.
А-13-08
Преподаватель: Куриленко И. Е.
Москва
2012г.
Структура электронного письма
Электронная почта — технология и предоставляемые ею услуги по пересылке и получению электронных сообщений по распределённой компьютерной сети.
Формат сообщения, передаваемого по электронной почте, описан в RFC 2822. Оно состоит из трех частей:
-
Конверт (envelope), содержащий адреса отправителя и получателей сообщения, эта информация используется только при пересылке сообщения по протоколу SMTP , получателю она недоступна;
-
Заголовок (header), содержащий служебную информацию, формируемую программами, участвующими в передаче сообщения, такую как адреса отправителя и получателей, которые могут отличаться от используемых в конверте, тему сообщения, время отправки, сведения о пересылке и об используемых для создания сообщения программах и т.д., заголовок завершается пустой строкой;
-
Тело (body), содержащее само сообщение, созданное отправителем и подлежащее доставке получателю. Согласно стандарту, в теле письма могут находиться только символы ASCII. Поэтому при использовании национальных кодировок или различных форм представления информации (HTML, RTF, бинарные файлы) текст письма должен кодироваться по стандарту MIME и не может быть прочитан человеком без использования декодера или почтового клиента с таким декодером.
Таким образом, сообщение доставляется получателю в виде заголовка и отделенного от него пустой строкой тела.
Заголовок состоит из полей: текстовых строк, состоящих из имени поля: слова, заканчивающегося двоеточием, и содержимого поля. Заголовок обычно показывается не полностью. Получатель видит только некоторые поля: адреса отправителя и получателей, время отправки и тему сообщения.
В заголовке допускается использование только символов в кодировке US-ASCII. Другие символы должны быть закодированы таким образом, чтобы полученная кодовая последовательность содержала только символы кодировки US-ASCII. Это правило нередко нарушается, например, тема сообщения записывается в заголовке сообщения на русском языке без перекодирования. Этого следует избегать, так как на приемном конце не будет известна используемая кодировка русских букв, а значит, полученная последовательность может быть интерпретирована неправильно.
Далее описаны наиболее важные поля заголовка:
Название поля | Значение поля |
From: | Автор письма |
Sender: | Электронный адрес отправителя |
To: | Адреса получателей |
Cc: | Адреса получателей копий |
Bcc: | Адреса получателей скрытых копий. Это поле используется в процессе передачи сообщения, при доставке получателю соответствующие поля или часть их содержимого могут быть удалены. |
Return-Path: | Адрес отправителя, указанный на конверте сообщения |
Received: | Информация о прохождении сообщения. Каждый узел, через который прошло сообщение, должен добавить в заголовок поле "Received:", содержащее имена и адреса IP узлов, пославших и принявших сообщение, время прохождения и пр. |
Так же в заголовке могут иметься поля, которые не являются обязательными:
Название поля | Значение поля |
Date: | Время отправки сообщения |
Subject: | Тема сообщения |
References: | Уникальные идентификаторы всех сообщений в цепочке ответов |
Message-ID: | Уникальный идентификатор сообщения |
In-Reply-To: | Уникальный идентификатор сообщения, на которое отвечает данное сообщение |
Reply-To: | Адрес для ответа |
Протоколы передачи электронных писем
SMTP
В Интернете для доставки электронной почты машина-источник устанавливает TCP-соединение с портом 25 машины-приемника. Этот порт прослушивается почтовым демоном, и их общение происходит с помощью протокола SMTP (Simple Mail Transfer Protocol — простой протокол электронной почты). Этот демон принимает входящие соединения и копирует сообщения из них в соответствующие почтовые ящики. Если письмо невозможно доставить, отправителю возвращается сообщение об ошибке, содержащее первую часть этого письма.
Протокол SMTP представляет собой простой ASCII-протокол. Установив ТСР- соединение с портом 25, передающая машина, выступающая в роли клиента, ждет запроса принимающей машины, работающей в режиме сервера. Сервер начинает диалог с того, что посылает текстовую строку, содержащую его идентификатор и сообщающую о его готовности (или неготовности) к приему почты. Если сервер не готов, клиент разрывает соединение и повторяет попытку позднее. Если сервер готов принимать почту, клиент объявляет, от кого поступила почта и кому она предназначается. Если получатель почты существует, сервер дает клиенту добро на пересылку сообщения. Затем клиент посылает сообщение, а сервер подтверждает его получение. Контрольные суммы не проверяются, так как транспортный протокол TCP обеспечивает надежный байтовый поток. Если у отправителя есть еще почта, она также отправляется. После передачи всей почты в обоих направлениях соединение разрывается.
РОРЗ
POP3 (Post Office Protocol v.3 — почтовый протокол, 3-яверсия) позволяет пользовательскому агенту (на машине клиента) соединиться с агентом передачи сообщений провайдера (на машине провайдера) и скопировать хранящуюся для него почту. Тем самым клиент может получить письмо, которое было отправлено, когда он не был подключен к сети Интернет.
Протокол РОРЗ начинает свою работу, когда пользователь запускает почтовый редактор. Последний дозванивается до провайдера (если только машина уже не находится в подключенном состоянии) и устанавливает TCP-соединение с агентом передачи сообщений с использованием порта 110.
После установки соединения протокол РОРЗ проходит три последовательных состояния.
1. Авторизация – процесс входа пользователя в систему;
2. Транзакция – пользователь забирает свою почту и может пометить ее для удаления из почтового ящика;
3. Обновление – происходит удаление помеченной корреспонденции.
Несмотря на то, что протокол РОРЗ действительно поддерживает возможность получения одного или нескольких писем и оставления их на сервере, большинство программ обработки электронной почты просто скачивают все письма и опустошают почтовый ящик на сервере. Такие действия означают, что реально хранится только одна копия писем — на жестком диске пользователя. Если с ним что-то случается, корреспонденция пропадает безвозвратно.
IMAP
IMAP (Interactive Mail Access Protocol — протокол интерактивного доступа к электронной почте) отличие от протокола РОРЗ, который подразумевает, что пользователь будет очищать почтовый ящик после каждого контакта с провайдером и будет работать с почтой в отключенном режиме, протокол IMAP предполагает, что вся почта будет оставаться в почтовых ящиках на сервере неограниченно долго. IMAP обладает широким набором механизмов для чтения сообщений или даже частей сообщений. Такое свойство полезно при использовании медленных модемов, поскольку можно прочесть только текстовую часть письма, к которому приложены большие видео и аудиофрагменты. Поскольку основное предположение состоит в том, что пользователь не будет копировать на свой компьютер письма, в IMAP входят также инструменты для создания, удаления и других видов управления почтовыми ящиками, размещающимися на сервере. Таким образом, пользователь может завести собственный почтовый ящик для каждого лица, с которым ведется переписка, и переносить сообщения из почтового ящика для всех входящих писем в эти персональные ящики.
Протокол IMAP обладает разнообразными возможностями, например, способностью упорядочивать почту не по порядку ее поступления, а по атрибутам писем. В отличие от РОРЗ, IMAP может заниматься как доставкой исходящей почты от пользователя в направлении места назначения, так и доставлять входящую почту пользователя.
Сравнение POP3 и IMAP
IMAP выигрывает у POP в трех областях:
-
более богатая функциональность для манипулирования почтовым ящиком;
-
возможность управлять несколькими почтовыми ящиками, а не одним;
-
примитивы для оптимизации производительности online доступа, особенно если дело касается больших MIME сообщений.
Преимущества POP над IMAP:
-
наличие большего числа реализаций, как клиентов, так и серверов;
-
простота настройки (так как у POP маленькая функциональность, то и настраивать практически ничего не нужно).
Общая модель работы электронной почты
Посмотрим, каким образом сообщение электронной почты находит дорогу к своему получателю, находящемуся в другой точке земного шара.
Почтовая система Интернета, по сути, является объединением системы клиент-сервер и сервер-сервер, в котором невидимо трудится целая группа агентов. Сообщение электронной почты могут составляется при помощью веб-интерфейса, либо при помощи клиентских программ, таких как Microsoft Outlook Express, Netscape Messenger, The Bat, KMail, Novell GroupWise, Lotus Notes и других.
Электронный почтальон доставляет его в назначенное почтовое отделение, т. е. на сервер исходящей почты, который вы выбрали. Этому серверу может потребоваться вступить в связь с другим почтовым сервером, если получатель находится вне зоны его ответственности. Получив сообщение электронной почты, почтовый сервер на приемном конце просит еще одну выполняющуюся на сервере программу поместить письмо в почтовый ящик получателя.
Модель работы почтовых серверов и методы защиты от спама
Рассмотрим структуру почтового сервера, а также что происходит, когда пользователь пытается отправить почту.
Важнейшей часть почтового сервера является MTA (Mail Transfer Agent – агент пересылки почты) в задачи которого входит прием и передача почты. Очень часто (в Linux/UNIX) МТА называют также почтовым сервером. MTA работает по протоколу SMTP, и его одного, в принципе, уже достаточно для создания системы электронной почты. Когда-то давно именно так и было и для доступа к своему почтовому ящику требовалось обладать определенными техническими знаниями.
Однако прогресс не стоит на месте, MTA, получая письмо, помещает его в почтовый ящик пользователя на сервере, к которому последний должен получить доступ, желательно наиболее простым и понятным способом. Вот здесь на сцену выходит MDA (Mail Delivery Agent – агент доставки почты), его задача по запросу почтового клиента передать ему почту из почтового ящика на сервере. MDA может работать по протоколам POP3 или IMAP, в ряде случаев для "общения" почтового клиента и агента доставки могут применяться собственные протоколы, обладающие расширенной функциональностью, например MAPI (Exchange Server).
Вопреки распространенному заблуждению, MDA не имеет никакого отношения к процессу передачи почты. Это прерогатива MTA. Если провести аналогию, MTA можно представить как почтовое отделение, которое занимается приемом и отправкой почты, а MDA с почтальоном, который приносит пришедшую корреспонденцию к вам домой. Если почтальон заболел, то это никак не скажется на работе почты, просто вы не получите письма на дом. Также и MDA, его отказ не приводит к неработоспособности почтового сервера, становится недоступно только получение почты почтовым клиентом, в то же время к ней можно спокойно получить доступ другими путями, например, через веб-интерфейс.
Посмотрим, что происходит при отправке почты. В нашем примере пользователь Иванов, находящийся в домене example.org (ivanov@example.org), пишет письмо Козлову в домен example.com (kozlov@example.com). Для Иванова процесс отправки почты состоит из создания сообщения и нажатия кнопки "Отправить" в почтовом клиенте. Почтовый клиент соединяется с МТА по протоколу SMTP и первым делом сообщает свои учетные данные. Авторизовав пользователя, MTA принимает сообщение и пытается доставить его дальше.
Вообще-то авторизация не является обязательной процедурой для MTA, но без авторизации мы получим открытый релей, т.е. любой может воспользоваться нашим сервером для пересылки почты. В настоящее время открытые релеи возникают в основном из-за ошибок настройки сервера. Однако вполне допустима ситуация, когда MTA без авторизации принимает почту от доверенных пользователей, например из локальной сети предприятия.
Для авторизации MTA может использовать собственный список пользователей, системный список, списки пользователей LDAP или AD. Также существует способ: авторизация POP прежде SMTP, когда пользователь перед отправкой почты авторизуется на MDA, который, в свою очередь подтверждает аутентификацию пользователя для MTA.
Следующим шагом MTA анализирует служебную информацию письма, определяя домен получателя, если он относится к доменам обслуживаем данным МТА, производится поиск получателя и письмо помещается в его ящик. Так произошло, если бы Иванов написал письмо Петрову или Сидорову.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.