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


Создание класса My_Mime_Mail

Мы можем расширить имеющийся класс My_Mail с тем, чтобы он обрабатывал сообщения MIME. Мы дополнительно определим пару новых методов, кото­рые добавляют заголовки MIME и строят части тела, а также, как обычно, за­меним метод send():

<?php

// my_mime_mail_class.php include("./my_mail_class.php");

class My extends

{

Свойства

Значением поля заголовка Content-Type для текстовых данных по умолчанию

устанавливается "text/plain; charset=us-ascii":

var $type = 'text/plain'; var $charset = 'us-ascil':; :

Для заголовка Content-Transfer-Encoding также устанавливается значение по умолчанию:

var ^encoding = '7pit';

Нам потребуется флаг, указывающий, есть ли в сообщении вложения:

var $has_attach = 0;

Файлы, которые должны быть вложены, указываются в элементах массива $ files. Массив $ files имеет два измерения; при этом каждый элемент содер­жит ассоциативный массив, хранящий информацию о файле. Например, в следующем фрагменте кода извлекается информация о первом файле в мас­сиве:

$file1 = $files[0]["file"]; // path of the file $filenamei = $files[0]["filename"]; // name of the file $filesize1 = $files[0]t"filesize"]; // size of the file $filetypel = $files[0]["filetype"]; // type of the file

С помощью этого массива можно вложить в сообщение электронной почты требуемое количество массивов:

var $fiies = array();

По умолчанию вкладываемые файлы имеют тип содержимого application/ octet-st ream. Можно создать файл для хранения расширений хорошо извест­ных типов файлов и устанавливать тип содержимого в зависимости от рас­ширения:

var $mime_type = 'application/octet-stream';

Значение поля заголовка MIME-Version и предупреждение для несовместимых почтовых клиентов определяются так:

var =

var $mime_msg = "This is a multi-part message in MIME format.";

Мы воспользуемся дополнительным полем заголовка "X-Mailer": var Smaller = 'My Mime Mailer 1.0';

Переменная для хранения разграничителя частей:

var $boundary = Еще одно специальное сообщение об ошибке:

var $ERR_CANNOT_OPEN_FILE = 'Cannot open the specified file!';

buildMimeHeaders()

Этот метод создает заголовки MIME в дополнение к обычным. Если в сообще­нии есть вложения, создается разграничитель для обозначения каждой части тела, а поле заголовка Content-Type получает значение "multipart/mixed":

function

{

$this->headers[] = "X-Mailer: " . $this->mailer; $this->headers[] = $this->mime_version; if ($this->has_attach) {




Хотите найти хороший сайт знакомств, где вы могли бы подыскать не просто интересного собеседника, но и кого-то более любимого вами, чем друг? Тогда наш портал виртуальных знакомств - это именно то, что вам необходимо. Заходите к нам уже сейчас, чтобы вскоре попрощаться со своим одиночеством.