Форум → Программирование → PHP для идиотов → кодировка при отправке писем
кодировка при отправке писем
-
31 августа 2010 г. 0:42, спустя 11 минут 34 секунды
через заголовки указать нужную кодировку:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
…
mail($to, $subject, $message, $headers);
http://md.php.net/manual/en/function.mail.php -
31 августа 2010 г. 0:45, спустя 2 минуты 51 секунду
мне начальник-проектировщик такое показывал. говорит, везде всегда были проблемы, а вот так - нормуль у всех пахалоfunction mime_header_encode($str, $data_charset, $send_charset) {
if($data_charset != $send_charset) {
$str = iconv($data_charset, $send_charset, $str);
}
return '=?' . $send_charset . '?B?' . base64_encode($str) . '?=';
}
function mail($to, $message, $name, $email) {
$return = $this->mime_header_encode($name, "UTF-8", "UTF-8").' <'.$email.'>'; //Адрес для полей "От:" "Обратный адрес:"
$date = date('l\, M dS Y\, H:i:s');//Дата вида Friday, Mar 07th 2008, 15:43:34
$time = date('r');//Дата в формате RFC 2822, вида Fri, 07 Mar 2008 15:49:41 +0300
$subject = mime_header_encode("Новое сообщение с сайта", "UTF-8", "UTF-8");//"Тема:"
$body = "Вам пришло новое сообщение с Вашего сайта\nОт: $name\nСообщение: $message\n"; // Тело письма
// Заголовки. Задаем кодировку, дату, обратный адрес.
$headers = 'MIME-Version: 1.0' . "\r\n" .
'Content-Type: text/plain; charset=UTF-8; format=flowed' . "\r\n" .
'Content-Transfer-Encoding: 8bit' . "\r\n" .
'Date: ' . $time. "\r\n" .
'From: ' . $return . "\r\n" .
'Reply-To: ' . $return . "\r\n" .
'Return-Path: ' . $return . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $body, $headers))
return true;
else
return false;
} -
-
31 августа 2010 г. 1:17, спустя 27 минут 21 секунду
function mail($to, $message, $name, $email) {
//
mail(//
//
Рекурсия, переопределение уществующий функции в пыхе))) -
31 августа 2010 г. 1:21, спустя 3 минуты 39 секунд
а, да, переименовать надо, это я из класса выдралfunction mail($to, $message, $name, $email) {
//
mail(//
//
Рекурсия, переопределение уществующий функции в пыхе))) -
31 августа 2010 г. 1:46, спустя 25 минут 6 секунд
Sinkler, по сути mime_header_encode() и является практически самой важной частью. А дальше просто в заголовках указать кодировку и все будет работать. А в целом, то сам столкнулся с проблемой при формировании письма в УТФ-8, но решение нашлось достаточно быстро + заодно узнал ещё немного полезного для себя. Осталось только разобраться как создать письмо, картинка в котором будет идти не как приложение а как тело (точнее как часть тела письма) письма. Пока с этим траблы :( -
31 августа 2010 г. 12:21, спустя 10 часов 35 минут 6 секунд
покажи начальнику-проектировщику Zend_Mail или Swiftmailer шоле… -
31 августа 2010 г. 12:54, спустя 33 минуты 8 секунд
Абырвалг, а зачем? Ты ж не вызываешь лифт, чтоб спустится на один этаж. Хотя это в целом возможно, и все будет сделано с большим удобством, но вероятнее всего значительно дольше + с таким подходом вообще скоро "зачахнуть" можно :)
Так что проще решить сию элементарную задачу и не мучаться. -
31 августа 2010 г. 13:05, спустя 10 минут 57 секунд
ну да, а потом нужно будет вставлять аттачи и слать через смтп
Пожалуйста, авторизуйтесь, чтобы написать комментарий!