[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с кодировкой в Яндекс почте!
PHP_Fox
Подскажите пожалуйста в чем может быть проблема, при отправки письма на Яндекс почту. Вот с помощью такого тестового кода
$to = 'name@yandex.ru';

$subject = 'Подтверждение регистрации!';

$message = 'Тест!';

$headers = "Content-Type: text/html; charset=UTF-8\r\n";
$headers .= "From: Тест <mail@".$_SERVER['HTTP_HOST'].">\r\n";

mail($to, $subject, $message, $headers);
В списке писем все отображается корректно, а когда открываешь письмо то кракозябры )
Вот именно вот это поле
$headers .= "From: Тест <mail@".$_SERVER['HTTP_HOST'].">\r\n";
слово "Тест" отображается кракозябрами )

На всех других почтовых сервисах этой проблемы нет, google почта(gmail.com), mail.ru, а также в моем любимом почтовом клиенте "Mozilla Thunderbird" везде все отлично, а на Яше такая проблема!
PHP_Fox
Цитата (Winston @ 24.10.2012 - 08:51)
http://phpforum.ru/index.php?showtopic=0&v...dpost&p=2091972

Что-то я не понял, что вы имели введу дав эту ссылку, на что там конкретно смотреть?
Winston
PHP_Fox
Мой код попробуй.

И убери "Тест" из заголовка From
Цитата (PHP_Fox @ 24.10.2012 - 07:41)
From: Тест

PHP_Fox
Цитата (Winston @ 24.10.2012 - 09:17)
PHP_Fox
Мой код попробуй.

И убери "Тест" из заголовка From
Цитата (PHP_Fox @ 24.10.2012 - 07:41)
From: Тест

Хех ))) Вот результат работы твоего куска кода )
Цитата
Здесь@webknigka.ru, впиши@webknigka.ru, свое@webknigka.ru, мыло@webknigka.ru, от@webknigka.ru, которого@webknigka.ru, идет@webknigka.ru, рассылка@webknigka.ru
PHP_Fox
Winston
Может ты не внимательно прочитал но то что ты пишешь
Цитата
И убери "Тест" из заголовка From
Как раз в этом то и проблема, в заголовке фром должен быть русский текст. Как и у кучи других сайтов там русский текст. Именно в этом у меня проблема, в остальном все и в моем коде работает отлично. И даже фром работает с русским текстом, везде кроме Яши.
PHP_Fox
Winston
В общем вот твой код я только фром поправил

$to = 'мой акк@yandex.ru';
$subject = '=?utf-8?b?'. base64_encode('Сообщение с вашего интернет-сайта') .'?=';
$headers = "Content-type: text/html; charset=\"utf-8\"\r\n";
$headers .= "From: Тест! <site@mail.ru>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Date: ". date("D, j M Y H:i:s") ."\r\n";
$text = 'Сообщение';

mail($to, $subject, $text, $headers);
А вот результат внутри письма
Цитата
Тест! <site@mail.ru>

Может так будет понятнее в чем у меня проблема!
Winston
Цитата (PHP_Fox @ 24.10.2012 - 10:10)
$headers .= "From: Тест! <site@mail.ru>\r\n";

Попробуй тогда "Тест" закодировать с помощью base64_encode или перекодировать в windows-1251 с помощью iconv...
PHP_Fox
Цитата (Winston @ 24.10.2012 - 10:24)
Цитата (PHP_Fox @ 24.10.2012 - 10:10)
$headers .= "From: Тест! <site@mail.ru>\r\n";

Попробуй тогда "Тест" закодировать с помощью base64_encode или перекодировать в windows-1251 с помощью iconv...

iconv() помог, но теперь на Яше, все нормально отображается, а на других почтовых сервисах кракозябры и вопросики, и в почтовом клиенте Mozilla Thunderbird тоже вопросики (((
Блин не пойму ну вот почему Яша, в списке писем нормально все отображает, а внутри письма кракозябры? ((( идиоты какие-то. Тем более что у всех остальных все нормально работает.
inpost
PHP_Fox
Ты понимаешь, что называя других идиотами ты подчёркиваешь то, что идиот ты, а не они?

Кодировку на странице ты выставил верную? В .htaccess кодировку прописал?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PHP_Fox
Цитата (inpost @ 24.10.2012 - 17:11)
PHP_Fox
Ты понимаешь, что называя других идиотами ты подчёркиваешь то, что идиот ты, а не они?

Кодировку на странице ты выставил верную? В .htaccess кодировку прописал?

Как обычно в грубой форме ))) Да вроде все учел.
Создал папку отдельную в директории другого сайта в эту папку закинул файлик .htaccess, написал в нем кодировку
Цитата
# Кодировка файлов.
AddDefaultCharset utf-8

А в файле php указал заголовок.
header('Content-Type: text/html; charset=UTF-8');

Но кажется я понял в чем фигня, ты меня натолкнул на мысль, я заливаю через ISPmanager файлы к себе на VDS а там везде кодировка windows-1251 и они походу при заливке в нее и конвертируются, сейчас открыл файлы не скачивая в панели, а там кракозябры и кодировка указана 1251 )) Сейчас попробую залить через FTP.
PHP_Fox
Короче разобрался )) Проблема в кодировке на сервере, точнее там все настроено и зализано, под windows-1251, и хоть через панель хоть через фтп я файлы заливаю, он их все видит не в UTF-8 а в windows-1251.
Перекодировал файл в windows-1251 изменил заголовки в файле тоже на windows-1251 и все нормально заработало. То уже когда скрипт буду закидывать туда полностью тогда и разберусь с кодировкой на серваке, просто на локалке у меня весь сервер и все файлы и базы в UTF-8. И нужды тестировать на реальном сервере не было до сих пор пока не начал писать класс для работы с почтой ))) Все всем спасибо тема закрыта!
inpost
так же проверь кодировку самого файла: http://my.jetscreenshot.com/demo/20121024-dmxm-47kb
Может быть ты не ставил её в общем-то? А надо бы.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PHP_Fox
Нет яж говорю у меня все в UTF-8. Я пользуюсь Codelobster и Notepad++ и в них настроена у меня кодировка по умолчанию UTF-8 поэтому, сам понимаешь, да и я только что ее менял была UTF-8 перегнал в Notepade ее в ANSI
Guest
Прокатило вот это .
$headers = "From: =?UTF-8?B?'".base64_encode('Тест')."?= <my@test.ru>\r\n";
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.