Вопрос. отправка почты SMTP формирование заголовков ! Ошибка прои кодировании

DastElves

Новичок
Вопрос. отправка почты SMTP формирование заголовков ! Ошибка прои кодировании

Здравствуйте !

Делаю скрипт для сайта, отправка почты на e-mail с сайта, скрипт конектится по SMTP на мой почтовый ящик и сам себе отправляет сообщение ! Проблема в том что письмо приходит без проблем, все читается нормально весь текст и поля откого и куда и т.д. но когда входишь в само письмо где весь текст письма поле "От кого" выглядит

=?windows-1251?Q?������_:_������_�_�����?=

Прямо скажем не красиво. Подскажите как исправить данную проблему.

Вот мои заголовки

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=windows-1251\r\n";
$headers .= "To: [email protected]\r\n";
$headers .= "From: (=?windows-1251?Q?Клиент_:_Запрос_с_сайта?=) <$mhSmtpMail_Username>;";

Заранее Благодарен !
 

DastElves

Новичок
(=?windows-1251?Q?Клиент_:_Запрос_с_сайта?=)
взял прочитав это :)
http://www.citforum.ru/nets/semenov/4/4/mime.shtml

До этого вобще все поля кроме самого сообщения отоброжались знаками вопроса.

а поставте вместо text/plain => text/html


Ставил, результат не менялся. Само письмо "message" открывается нормально а вот именно поля From и Subject в них только проблема !
 

mustafa

Новичок
subject, to, from не могут содержать русских букв, для этого их нужно переконвертировать в base64 или quoted-printable. более популярна, да и удобнее, это base64.
 

Фанат

oncle terrible
Команда форума
Ну, за чтение этой ссылки можно простить многое. Даже неверное истолкование прочитанного.

как правильно написано выше, сам текст должен быть закодирован. буква Q в этой конструкции как бы намекает нам о о том, что она там не просто так, а, видимо, как-то связана с названием формата кодирования
 

DastElves

Новичок
mustafa - Я это все понял из прочитаной ссылки, немогу сообразить как правильно составить заголовок в этом случае. ????


ФАНАТ На что намекает буква Q я тоже понимаю.

Мне не понятно почему когда заходишь на сервер есть новые сообщения отправленные скриптом все без проблец читается, все символы и русские и все остальные. НО когда заходишь в само письмо тоже поле From вместо "Клиент : Запрос с сайта" выводит знаки вопроса "&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;_:_&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;_&#65533;_&#65533;&#65533;&#65533;&#65533;&#65533;" как исправить. ! в чем разница поля From в полном письме, и письмах просто в папке входящие ?
 

Фанат

oncle terrible
Команда форума
я не знаю, что такое "заходишь на сервер" и что такое "заходишь в письмо".
 

DastElves

Новичок
Не правильно видно объясняю.

Когда заходишь в почту, в любую, через web сервер, у тебя во "Входящих" высвечивается список писем с полями "от кого" и "Тема" что то вроде того, вот тут все пишется отлично по русски, а когда кликаешь на само письмо и открывается оно полностью с сообщением и остальными скажем вложенными жокументами вот тут в поле from "бракозяблики :)"
 

fixxxer

К.О.
Партнер клуба
А ты посмотри, где у тебя что в какой кодировке. ;)
Прямо _POST сдампь.

Hint 1: некоторые версии msie могут ВНЕЗАПНО отправить форму в utf-8.
Hint 2: [m]iconv[/m]

-~{}~ 27.04.10 21:56:

Хотя может ты и с кодированием заголовка накосячил - опять же - напиши временно рядом декодирование и сдампь.

-~{}~ 27.04.10 21:57:

Или ты вообще в quoted printable не кодируешь? Тогда все таки почитай что значит Q :)
 

DastElves

Новичок
Всем спасибо !

Решил проблему

$str="строка отправляемая на сервер";
$str=iconv("windows-1251","UTF-8",$str);

$headers = "From: $str <$Username>\r\n";

Все приходит и читается на русском отлично !!!

Еще раз спасибо !
 
Сверху