
Content-Type: application/octet-stream; name="sock.rar"
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="sock.rar"
UmFyIRoHAM+QcwAADQAAAAAAAAAQa3QgkC0AyisAAMaVAAACl4CRQGB+WzEdMwgAIAAAAHNv
Y2suZXhlAPCAa5IUIZEVCMzVQBQeN4GIWJMIhtikTkG1jcFGJsQgbE2kMceJALwiEljQCbcY
nhgGHg1gGLPBeE6KMcEpDOiUhrsT5FzkUkCJzsUkXeQk0uSDTJJibXG051OcOuOa0o2dkI9O
-------------удалено------------
M0hDxiueKnQXwtSilR3YF8LbLUc1RZPDvIh8tja0WM9NczkPDG1Xw6YzOwzH53XVG2IdLp2W
ZHVfPszikHs40qUPmCcY2RFHLurUVCMR5dEdYR/y92UcyTeIRmDh/1eH6wM+q4fKZVmJeoek
SdUuXzCWXUfzmMNZzsfJ06L6i9bGGEvvaj2hdEAqty5VAloayB8eCx/9QMQ9ewBABwA=
------------4527F7260515AD--
Проводим анализ заголовков MIME. Отмечаем, что использование MIME
требует использования в заголовке письма строки
MIME-Version: 1.0
Отмечаем, что Content-Type ПИСЬМА – multipart/mixed, при этом
определяется параметр Boundary. Напоминаем, что в том случае, если тип
содержимого письма multipart/mixed, это означает, что письмо состоит из
нескольких частей, отделенных друг от друга строкой –boundary, а каждая часть
поле этого содержит заголовки MIME, прежде всего заголовок Content-Type.
Отмечаем, что Content-Type первой части письмо – text/plain, Content-Transfer-
Encoding: 8bit, второй части – image.gif, Content-Disposition: attachment,
Content-Transfer-Encoding: base64, третьей части - application/octet-stream,
Content-Disposition: attachment, Content-Transfer-Encoding: base64.
Так же отметим, что данная почтовая программа (the Bat!) использует для
передачи файлов механизм кодирования base64, который является более
эффективным, нежели quoted-printable. Однако при необходимости так же
можно использовать и этот механизм кодирования, но необходимо понимать, что
в данном случае размер письма окажется существенно больше. Проведем оценку
– при использовании base64 размер письма оказывается на треть больше
размера передаваемого файла (4N/3, где N – длина файла в байтах), при
использовании quoted-printable символы первой половины кодовой таблицы
передаются один знаком, а символы второй половины таблицы передаются как
три символа. Если предположить, что в двоичном файле распределение
различных байтов относительно равномерное, то увеличение размера письмо
относительно размера исходного файла составит N/2+3N/2=2N, а отношение
размера письма в случае использования механизма quoted-printable по
сравнению с размером письма в случае использования механизма base64
составит 3/2.
Создадим письмо, которое будет иметь то же содержимое, что и
предыдущее письмо, но используем метод кодирования quoted-printable (файл
#9.eml)
Date: Wed, 22 Dec 2004 11:32:54 +0200
From: =?Windows-1251?B?wv/35fHr4OIgyuDr4Pjt6Oru4g==?= <kalashnikoff@itstep.org>
Reply-To: =?Windows-1251?B?wv/35fHr4OIgyuDr4Pjt6Oru4g==?= <kalashnikoff@itstep.org>
Organization: =?Windows-1251?B?ysAgItjg4yI=?=
X-Priority: 3 (Normal)
Message-ID: <1265072207.20041222113254@itstep.org>
To: kalashnikoff@mail.ru
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----------B2D51B3CFBA40D"
------------B2D51B3CFBA40D
Content-Type: text/plain; charset=Windows-1251
Content-Transfer-Encoding: 8bit