Аргерих Л. О языке РНР. Часть 2. Страница 123


Заголовок Content-Type почтовых сообщений, состоящих из нескольких час­тей, должен содержать один обязательный параметр boundary (разделитель):

Content-Type: multipart/mixed; boundary="01fedcb87ld3f012e43680250ba5ca3f"

Частям, составляющим тело, должны предшествовать строки с разделите­лем границ, каждая из которых состоит из двух символов дефиса (-- ) и зна­чения параметра boundary из поля заголовка Content-Type (в данном примере 01fedcb871d3f012e43680250ba5ca3f), завершаясь парой CR/LF:

—01fedcb871d3f012e43680250ba5ca3f

Строка с разделителем границ boundary завершается парой символов CR/LF и полями заголовков для очередной части либо двумя символами CR/LF - и тогда полей заголовков для очередной части нет. Разделители границ долж­ны быть не длиннее 70 символов, не считая двух ведущих дефисов.

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

--01fedcb871d3f012e43680250ba5ca3f—

Поскольку разделитель границ предназначен специально для выделения от­дельных частей тела, он не должен присутствовать внутри составляющих те­ло частей. Поэтому важно, чтобы в почтовой программе значение параметра boundary было уникальным и не встречалось в теле сообщения. Например, значение --01fedcb871d3f012e43680250ba5ca3f приемлемо, если символы не встретятся в открытом тексте тела:

MIME-Version: 1.0

Content-Type: multipart/mixed; boundary="01fedcb871d3f012e43680250ba5ca3f"

Параметр boundary обычно состоит из 32 :, цифр (т. е. сим­

волов 0-9 и a-f). Это шестнадцатеричное представление 128-разрядного зна­чения, и риск появления его в теле сообщения минимален. Выберите слу­чайное 128-разрядное число, и вероятностью встретить его в сообщении

электронной почты можно практически пренебречь.

Content-TransferЈncod i ng

Многие типы электронных сообщений, передаваемых по электронной почте, по природе своей представлены 8-разрядными символами или двоичными данными. Однако такие данные нельзя передавать через некоторые транс­портные протоколы, например SMTP, которые ограничивают сообщение электронной почты 7-разрядными данными в кодировке US-ASCII и строка­ми не длиннее 1024 символов.

MIME предоставляет механизм, позволяющий преодолеть это ограничение с помощью поля заголовка Content-Transfer-Encoding. В этом поле указывается кодирующее преобразование, примененное к телу сообщения и преобразую­щее исходный формат в совместимый с протоколом. При получении сообще­ния производится обратное преобразование.




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