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

Читальный зал | Вопросы | Задания
Практикум
Настройка The Bat
Настройка Outlook Express
Письма с вложениями
Академия
Как устроено электронное письмо?
Какие бывают кодировки
Как кодируются электронные письма?
Транслит
Настройка почтовых программ
Полезные ссылки

Конспект

Правила для писем с вложениями

  • Не посылайте вложений “для настроения”, особенно больших.

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

    Если нужно переслать вложением более сотни килобайт, спросите разрешение на такую посылку у получателя.

  • Для уменьшения трафика посылайте файлы, после сжатия архиватором (рекомендуются архиваторы WinZip и WinRAR, формат архива — zip).

    Не сжимайте файлы, уже подверженные сжатию (например, картинки в формате GIF, JPEG, PNG). Дополнительное сжатие практически не изменит размер файла, а пользователю придётся терять время на распаковку полученного файла.

    Не посылайте в письмах самораспаковывающиеся архивы (пересылается лишний “довесок” для распаковки, возможны вирусы, не во всех операционных системах распаковка получится).

  • Без необходимости не посылайте тексты вложением в виде Word-документа (увеличивается размер письма, возможны вирусы, не все пользователи имеют Microsoft Word, тратится время на извлечение вложения, его распаковку, проверку на вирусы).

  • Записывайте имя пересылаемого файла в формате 8.3 (не больше восьми символов в имени, не больше трёх в расширении). Не используйте русские буквы, пробелы и специальные знаки.

    Не все операционные системы поддерживают имена, разрешённые в Windows.

Важное в настройке почтовых программ

  • Настройте программу на посылку обычного текста (не HTML).

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

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

    Серверы в России 8-битные. Они могут нормально работать с 8-битной кодировкой русских букв, а 7-битое кодирование текста увеличивает объём пересылаемого сообщения.

  • Для писем на русском языке установите кодировку KOI8-R или WINDOWS-1251.

    Эти кодировки понимаю практически все почтовые программы.

  • Для вложений установите кодирование base64.

    Это кодирование увеличивает размер пересылаемого файла только на треть в отличие от кодирования quoted-printable, которое увеличивает двоичные файлы почти в три раза.

Технические основы

Текст электронного письма передается по Сети в виде последовательности байтов.

1 байт = 8 битам.

Одним байтом на компьютере традиционно кодируется один символ текста.

Даже когда при пересылке применяют 7-битное кодирование, письмо всё равно передаётся байтами, при этом самый первый (старший) бит каждого байта игнорируется.

Электронное письмо, кроме основного текстового сообщения, может содержать дополнительные части — вложения.

Вложением может быть любой компьютерный файл.

Кодирование вложений

Согласно стандарту MIME (Multipurpose Internet Mail Extensions — многоцелевые расширения Интернет-почты) вложения передаются как часть письма в виде печатных символов стандартной кодовой таблицы ASCII (American Standard Code for Information Interchange — американский стандартный код обмена информацией).

В 7-битной (стандартной) ASCII содержится 128 знакомест (27 = 128).

Печатными символами стандартной ASCII называются символы с кодами от 32 до 126: латинские буквы, цифры и знаки (русских букв в стандартной ASCII нет).

Для кодирования вложений (представления файла в виде печатных символов стандартной ASCII) в современной электронной почте используют методы base64 и quoted-printable, описанные в стандарте MIME.

Оба метода и base64, и quoted-printable переводят произвольный файл в 7-битный набор печатных символов стандартной кодовой таблицы ASCII.

При кодировании по методу base64 исходный код разбивается на группы по 6 бит. Из каждых 3 байтов получается 4 такие группы. У группы из 6 бит может быть 26 = 64 различных значения. Каждому возможному значению поставлен в соответствие символ из печатного набора стандартной ASCII: используются 52 латинских буквы (26 заглавных и 26 строчных), 10 цифр, а также знаки + и /.

По методу base64 3 байта кодируются 4 печатными символами стандартной ASCII. Получается удлинение кода примерно в 1,3 раза (4/3 = 1,33...).

При кодировании по методу quoted-printable печатные символы стандартного набора ASCII не изменяются, а остальные символы (непечатные символы стандартной ASCII и символы с кодами от 128 до 255 расширенной 8-битной ASCII) заменяются на знак равенства и двузначный шестнадцатеричный код заменяемого символа (записанный цифрами и латинскими буквами A, B, С, D, E, F).

Ниже представлен текст “Привет!”, закодированный по методу quoted-printable:

=CF=F0=E8=E2=E5=F2!
      

Если предположить, что все байты файла являются непечатными символами, то получается удлинение кода в 3 раза.

Кодирование base64 для двоичных файлов (картинки, музыка, документы Word, архивы…) предпочтительнее кодирования quoted-printable — пересылаемый код получается короче.

Кодирование основного текста

Текст основного сообщение при передаче также может подвергаться 7-битному кодированию (по методу base64 или quoted-printable).

Кодирование русских текстов имеет смысл только при передаче на иностранные 7-битные серверы. Эти серверы работают c символами стандартной ASCII, и игнорируют старший бит в принятых байтах (в кодах русских букв этот бит равен единице).

При переписке внутри России кодировать основной текст не надо — российские серверы 8-битные.

Кодировка основного текста

Для представления символов в компьютере им сопоставляются цепочки битов.

Набор таких сопоставлений называется кодовой таблицей или кодировкой.

Для кодирования текста, основанного на латинском алфавите, достаточно стандартной 7-битной кодировки ASCII. В этой кодовой таблице 27 = 128 знакомест.

При передаче по электронной почте русских текстов наиболее часто используют кодировки KOI8-R и WINDOWS-1251. Это 8-битные кодировки, расширяющие стандартный набор 7-битной ASCII.

В 8-битной кодовой таблице 28 = 256 знакомест. Первые 128 знаков в расширенных ASCII совпадают с первыми 128 знаками стандартной ASCII. Русские буквы располагаются на оставшихся 128 местах. Конкретное место расположения русских букв разное в разных кодовых таблицах.

Передача писем по Сети

При пересылке письма вместе с его содержанием по Сети передается служебная информация, в которую входит:

  • Тип кодирования основной части и вложений (например, отсутствие кодирования для основной части и кодирование base64 для вложения).

  • Кодировка основной части (например, KOI8-R).

Почтовая программа отправителя в соответствие с настройками формирует письмо для отправки:

  • Переводит основной текст из кодировки почтового редактора в кодировку, указанную для пересылки.

  • Кодирует, если указано, основной текст 7-битным кодом по методу base64 (или quoted-printable).

  • Кодирует вложения 7-битным кодом по методу base64 (или quoted-printable)

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

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

Вложения преобразуются в исходные файлы, основной текст показывается пользователю в кодировке, на которую настроен его компьютер (WINDOWS-1251 для пользователей Windows).

Азы информатики RU 2000/2006 © А.А.Дуванов

Вверх Оглавление книги Урок 5. Приём писем и ответы на них Урок 7. Web-пространство Интернета Материал для учителя Письмо автору Об авторах