Кодировку письма задает заголовок Content-type:
$header="From: "Evgen" < [email protected]>";
$header.="Content-type: text/plain; charset="windows-1251"";
$subject="Тема письма";
$msg="Сторака 1nСтрока 2nСтрока 3";
mail(" [email protected]", $subject, $msg, $header);
В заголовке мы указали, что тип письма будет простой текст, а кодировка - Windows.
Теперь наше письмо придет в понятной для почтового клиента кодировке.
Но стоит отметить, что в некоторых случаях в правильной кодировке будет отображено только само письмо. Заголовок же так и останется нечитаемым. Связано это с тем, где расположен заголовок Content-type относительно заголовка Subject, который и содержит тему письма. Дело в том, что существуют почтовые программы, которые понимают заголовок Content-type, но не понимают русский текст в поле Subject, если это поле стоит до Content-type. В то же время, другие почтовые программы обязывают нас задавать Content-type последним заголовком в списке. Чтобы обойти эти препятствия, можно разместить поле Content-type сразу в начале и в конце списка заголовков:
$subject="Тема письма";
$header="Content-type: text/plain; charset="windows-1251"";
$header.="From: Evgen < [email protected]>";
$header.="Subject: $subject";
$header.="Content-type: text/plain; charset="windows-1251"";
$msg="Сторака 1nСтрока 2nСтрока 3";
mail(" [email protected]", $subject, $msg, $header);
Теперь это письмо прочтет любая почтовая программа!
Для отправки письма в HTML-виде достаточно в заголовке Content-type указать тип документа не text/plain (простой текст), а text/html (html-текст).
А само письмо записать в html-виде:
$subject="Тема письма";
$header="Content-type: text/html; charset="windows-1251"";
$header.="From: Evgen < [email protected]>";
$header.="Subject: $subject";
$header.="Content-type: text/html; charset="windows-1251"";
$msg="<body>
<li>Сторака 1
<li>Сторака 2
<li>Сторака 3
</body>";
mail(" [email protected]", $subject, $msg, $header);
Смотреть также
Из PHP в Excel: работа с COM-объектами
Данная серия статей посвящена созданию документов Excel при помощи PHP. Данная возможнось может понадобиться, например, если нужно предоставить пользователю загружаемые данные в виде листов Excel. Это могут быть прайсы на продукцию, автоматически генерируемые из базы данных на сервере, либо какие-то документы, которые также необходимо представить в виде документов Excel.
Здесь рассматривается возможность работы с Excel-документами через COM-объект. К сожалению работа с COM-объектами в PHP возможна только на Windows-платформах. По-этому если Вы используете Unix-хостинг, то создавать и редактировать Excel-документы приведенным ниже способом не получится.
Работа с COM-объектами производится при помощи синтаксиса
$com_object = new COM($object);
где
Для создания Excel-документов переменной $object необходимо задать значение "Excel.Application" либо "Excel.sheet".
$xsl = new COM("Excel.Application");
После создания нового COM-объекта, можно обращаться к его свойствам и методам:
<?php
$xls = new COM("Excel.Application"); // Создаем новый COM-объект
$xls->Application->Visible = 1; // Заставляем его отобразиться
$xls->Workbooks->Add(); // Добавляем новый документ
$rangeValue = $xls->Range("A1");
$rangeValue->Value = "В выделенном блоке текст будет жирный, подчеркнутый, наклонный";
$rangeValue = $xls->Range("A2");
$rangeValue->Value = "Шрифт будет иметь высоту 12";
$rangeValue = $xls->Range("A3");
$rangeValue->Value = "Имя шрифта - Times New Roman";
$range=$xls->Range("A1:J10"); // Определяем область ячеек
$range->Select(); // Выделяем ее
$fontRange=$xls->Selection(); // Присваиваем переменной выделенную область
// Далее задаем параметры форматирования текста в выделенной области
$fontRange->Font->Bold = true; // Жирный
$fontRange->Font->Italic = true; // Курсив
$fontRange->Font->Underline = true; // Подчеркнутый
$fontRange->Font->Name = "Times New Roman"; // Имя шрифта
$fontRange->Font->Size = 12; // Размер шрифта
?>
Форум по PHP
http://forum.spravkaweb.ru/index.php?showforum=2
Официальный сайт PHP
www.php.net
Библиотека скриптов PEAR
pear.php.net