Кодировка в письме через sendmail на PHP @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 9 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Lieto Муж.
участник
13
Сообщения: 1501
Зарегистрирован: 28.05.05
Откуда: Киев
Заголовок сообщения: Кодировка в письме через sendmail на PHP
Сообщение Добавлено: 30 Июнь 2005, 18:02:48 
Подмогите товарищи )
Как установить кодировку в отправляющемся через форму письме? -- а то приходят каракули одни.
Юзаю приблизительно следующий скрипт.

<?
$toaddress="info@milo.com.ua";
$subject="".Date("H:i, jS F")." (russian)";
$mailcontent="Name:\n".$name."\n"."email:\n".$email."\n"."Запрос отправлен в ".Date("H:i, j F").".";
$advanced="From: Site\n"."Reply-to: $email";
mail($toaddress,$subject,$mailcontent,$advanced);
?>

чего в него дописать, чтобы приходило в нормально кодировке?

_________________
На вкус и цвет все фломастеры разные. Проверено.
Кухан Муж.
соучастник
18
Сообщения: 581
Зарегистрирован: 20.06.05
Откуда: МОСКВА
Сообщение Добавлено: 30 Июнь 2005, 18:34:22 
Дописать перед функцией mail:
Код:
<?php
$advanced. = 'Content-type: text/plain; charset=utf-8' . "\r\n";
?>

Вместо utf-8 написать нужную кодировку.

_________________
Какая-то реклама — «HTML» вёрстка.
(sp)
соучастник
0
Сообщения: 559
Зарегистрирован: 22.01.05
Сообщение Добавлено: 30 Июнь 2005, 23:08:06 
Угу. Только при получении писем через POP, к примеру, с джимэйл, будут проблемы. Гугол добавляет кучу своих заголовков, а такие вот всякие "Content-type: …" скидывает куда-то в жопу, от чего они включаются в текст письма. Впрочем, может это у меня где-то что-то не так *).

_________________
baby`s got an atom bomb
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 30 Июнь 2005, 23:21:04 
Кухан, а вот вопрос в качестве просвещения (я-то сам не шибко в php силён): у меня форма для отправки сообщений, но там есть такое
$headers = "Content-type: text/html; charset=windows-1251 \r\n";
$headers .= "From: $name <$email>\r\n";
и так далеее...
в чем разница между text/plain, как в Вашем примере, и text/html, как выше? Смею догадываться, что для разных способов отображения (в смысле с или без тэгов)? Но принципиально ли указание чистый текст или хтмл?

_________________
Keep in touch. Andrey Alexeev.
Кухан Муж.
соучастник
18
Сообщения: 581
Зарегистрирован: 20.06.05
Откуда: МОСКВА
Сообщение Добавлено: 1 Июль 2005, 15:36:42 

tentoys писал(а):
в чем разница между text/plain, как в Вашем примере, и text/html, как выше? Смею догадываться, что для разных способов отображения (в смысле с или без тэгов)? Но принципиально ли указание чистый текст или хтмл?


Правильно догадываешься. При text/plain показывается только текст вместе с тэгами, но форматирования никакого не происходит (т.е. текст не становится жирным, не выравнивается и т.п.). Тоже самое произойдет если открыть файл с расширением "txt" в браузере.

tentoys писал(а):
Но принципиально ли указание чистый текст или хтмл?


Нет, не принципиально. Я просто посмотрел код, там вроде никаких тэгов нет, вот я и подумал, что отсылаются текстовые сообщения.
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 1 Июль 2005, 16:05:09 
Кухан, спасибо за разъяснение :dandy:

_________________
Keep in touch. Andrey Alexeev.
Lieto Муж.
участник
13
Сообщения: 1501
Зарегистрирован: 28.05.05
Откуда: Киев
Сообщение Добавлено: 4 Июль 2005, 14:40:32 
а у меня почему-то не работает
объясните ещё раз плс

т.е. в пхп файле обработчике форм мне нужно написать

<?php
$advanced. = 'Content-type: text/plain; charset=utf-8' . "\r\n";
?>

<?
$toaddress="info@milo.com.ua";
$subject="".Date("H:i, jS F")." (russian)";
$mailcontent="Name:\n".$name."\n"."email:\n".$email."\n"."Запрос отправлен в ".Date("H:i, j F").".";
$advanced="From: Site\n"."Reply-to: $email";
mail($toaddress,$subject,$mailcontent,$advanced);
?>

так?

в таком случае эксплорер ругается на знак равенства "<?php
$advanced. = 'Content-type: text/plain; charset=utf-8' . "\r\n";
?> "
Говорит мол анекспектид обжект или что-то типа того.

Пишу просто

<?
$headers = "Content-type: text/html; charset=windows-1251 \r\n";
$advanced="Content-type: text/plain; charset=windows-1251" . "\r\n";
$toaddress="bla@inbox.ru";
$subject="AHKETA".Date("H:i, jS F")." (russian)";
$mailcontent=
"Полное название фирмы, организации:\n".$nazva."\n".
"\n"."Запрос отправлен в ".Date("H:i, j F").".";
$advanced="From: Site\n"."Reply-to: $email"."Content-type: text/plain; charset=windows-1251". "\r\n";
mail($toaddress,$subject,$mailcontent,$advanced);
?>

-- приходят каракули.
Подмогите, что делаю не так?

_________________
На вкус и цвет все фломастеры разные. Проверено.
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 4 Июль 2005, 15:56:17 

Lieto писал(а):
а у меня почему-то не работает
объясните ещё раз плс
т.е. в пхп файле обработчике форм мне нужно написать

<?php
$advanced. = 'Content-type: text/plain; charset=utf-8' . "\r\n";
?>
так?
в таком случае эксплорер ругается на знак равенства "<?php
$advanced. = 'Content-type: text/plain; charset=utf-8' . "\r\n";
?> "
Говорит мол анекспектид обжект или что-то типа того.


Мне, как не спецу, кажется, что не так -- ругется, imsho, не на знак равенства, а на кавычки: у Вас и content-type в кавычках, и \r\n тоже в кавычках...

_________________
Keep in touch. Andrey Alexeev.
Кухан Муж.
соучастник
18
Сообщения: 581
Зарегистрирован: 20.06.05
Откуда: МОСКВА
Сообщение Добавлено: 4 Июль 2005, 16:10:37 
Код:
<?php
$toaddress = "info@milo.com";
$subject = "Тема";
$mailcontent = "Сообщение.";
$advanced = "From: admin@site.com"."Reply-to: $email"."\r\n";
$advanced .= 'Content-type: text/plain; charset=utf-8' . "\r\n";

mail($toaddress,$subject,$mailcontent,$advanced);
?>

А вообще, читайте документацию - там все понятно написано, а также узнайте какая разница между "=" и ".=" и "+=".
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 9 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100