07.01.2007, 03:12
общий
это ответ
Здравствуйте, Талипов А Н!
Синтаксис функции mail():
bool mail(string $to, string $subject, string $msg [, string $header]);
Функция mail() посылает письмо с темой $subject и содержанием $msg по адресу $to.
Если Вы хотите, чтобы письмо ушло по нескольким адресам, разделите их пробелами.
Само сообщение может быть многострочным. Для перехода на новую строку поставьте знак перехода на новую строку "\n" в конце каждой строки
В четвертом необязательном параметре $header можно указать заголовки нашего сообщения.
Кодировку письма задает заголовок Content-type:
$header="From: "\Evgen"\ <evgen@mail.ru>";
$header.="Content-type: text/plain; charset="windows-1251"";
$subject="Тема письма";
$msg="Сторака 1\nСтрока 2\nСтрока 3";
mail("name@mail.ru", $subject, $msg, $header);
В заголовке мы указали, что тип письма будет простой текст, а кодировка - Windows.
Как топравить письмо в формате HTML смотрите в приложении.
Приложение:
Но стоит отметить, что в некоторых случаях в правильной кодировке будет отображено только само письмо. Заголовок же так и останется нечитаемым. Связано это с тем, где расположен заголовок Content-type относительно заголовка Subject, который и содержит тему письма. Дело в том, что существуют почтовые программы, которые понимают заголовок Content-type, но не понимают русский текст в поле Subject, если это поле стоит до Content-type. В то же время, другие почтовые программы обязывают нас задавать Content-type последним заголовком в списке. Чтобы обойти эти препятствия, можно разместить поле Content-type сразу в начале и в конце списка заголовков: $subject="Тема письма";$header="Content-type: text/plain; charset="windows-1251"";$header.="From: "\Evgen"\ <evgen@mail.ru>";$header.="Subject: $subject";$header.="Content-type: text/plain; charset="windows-1251"";$msg="Сторака 1\nСтрока 2\nСтрока 3";mail("name@mail.ru", $subject, $msg, $header);Теперь это письмо прочтет любая почтовая программа! Отправка письма в HTML-видеДля отправки письма в HTML-виде достаточно в заголовке Content-type указать тип документа не text/plain (простой текст), а text/html (html-текст). А само письмо записать в html-виде: $subject="Тема письма";$header="Content-type: text/html; charset="windows-1251"";$header.="From: "\Evgen"\ <evgen@mail.ru>";$header.="Subject: $subject";$header.="Content-type: text/html; charset="windows-1251"";$msg="<body><li>Сторака 1<li>Сторака 2<li>Сторака 3</body>";mail("name@mail.ru", $subject, $msg, $header);