ter Опубликовано 20 Марта 2004 Жалоба Поделиться Опубликовано 20 Марта 2004 Название: Коррекция почтовых заголовковДобавил: terДобавлен: 20 Мар 2004Обновлен: 21 Мар 2004Категория: IP.Board 2.3.x email-1251-fix by ter===================== Не все почтовые клиенты могут нормально разбирать русскую кодировку письма, если отсуствуют заголовки, явно указывающие об этом. Mutt под Unix например этого не умеет. Поэтому мы можем видеть письма вида, сообщающие о новых регистрациях: Subject: New Registration at тНПСЛ Ford Focus ЙКСАЮ ( From тНПСЛ Ford Focus ЙКСАЮ )X-Mailer: IPB PHP Mailer<br><br><br><br>гДПЮБЯРБСИРЕ СБЮФЮЕЛШИ юДЛХМХЯРПЮРНП! бШ ОНКСВХКХ ЩРН ОХЯЭЛН, Б ЯБЪГХ Я ПЕЦХЯРПЮЖХЕИ МНБНЦН ОНКЭГНБЮРЕКЪ!оНКЭГНБЮРЕКЭ Beztuzev ГЮПЕЦХЯРПХПНБЮКЯЪ - Mar 20 2004, 00:17бШ ЛНФЕРЕ НРЙКЧВХРЭ ЩРН СБЕДНЛКЕМХЕ ВЕПЕГ юДЛХМЖЕМРП.дНАПНЦН бЮЛ ДМЪ!<br><br>я СБЮФЕМХЕЛ,юДЛХМХЯРПЮЖХЪ тНПСЛ Ford Focus ЙКСАЮ. Не совсем понятно, не правда ли ? Мне надоело читать эту белиберду, и подумав, что правок там секунд на 30, проделал следующие действия. Открываем файл sources/lib/emailer.php Находим в нем следующее: $this->mail_headers .= "Return-Path: ".$this->from."\n";^M $this->mail_headers .= "X-Priority: 3\n";^M $this->mail_headers .= "X-Mailer: IPB PHP Mailer\n";^M Ниже добавляем: $this->mail_headers .= "MIME-Version: 1.0\n";^M $this->mail_headers .= "Content-Type: text/plain; charset=Windows-1251\n";^M $this->mail_headers .= "Content-Transfer-Encoding: 8bit\n";^MИ чуть ниже: $this->mail_headers .= "\nContent-Type: text/plain;\n\tcharset=\"iso-8859-1\"\nContent-Transfer-Encoding: quoted-printable\n\n".$this->message."\n\n--".$this->boundry; Меняем на $this->mail_headers .= "\nContent-Type: text/plain;\n\tcharset=\"Windows-1251\"\nContent-Transfer-Encod<br>ing: quoted-printable\n\n".$this->message."\n\n--".$this->boundry; И всех делов, теперь почту можно читать любым rfc'шным почтовым клиентом http://www.ibresource.ru/forums/html/emoticons/smile.gif Нажмите здесь, чтобы скачать файл Ссылка на комментарий Поделиться на других сайтах Прочее
Андрей Николаев Опубликовано 20 Марта 2004 Жалоба Поделиться Опубликовано 20 Марта 2004 Но при этом само тело сообщения, похоже, остаётся в кодировке виндовс. А как и тело отправлять почтой в KOI8-R? Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 20 Марта 2004 Жалоба Поделиться Опубликовано 20 Марта 2004 Андрей Николаев ter Проблемы с кодировкой писем с форумаВыбор пользователем кодировки писем с форума Ссылка на комментарий Поделиться на других сайтах Прочее
ter Опубликовано 21 Марта 2004 Автор Жалоба Поделиться Опубликовано 21 Марта 2004 to Андрей Николаев: нет смысла, если стоит корректая кодировка в хеадерах сообщения, то клиент должен нормально отобразить содежимое. to urisoft: Не видел твоего поста на эту тему, падаю ниц Ссылка на комментарий Поделиться на других сайтах Прочее
ultra Опубликовано 9 Мая 2004 Жалоба Поделиться Опубликовано 9 Мая 2004 Кстати, что это у вас за символы такие ^M в коде?$this->mail_headers .= "MIME-Version: 1.0\n";^M$this->mail_headers .= "Content-Type: text/plain; charset=Windows-1251\n";^M$this->mail_headers .= "Content-Transfer-Encoding: 8bit\n";^MЯ не сразу заметил, отчего у меня ставился хак, интересно а как все остальные? Надо убрать. Ссылка на комментарий Поделиться на других сайтах Прочее
Roix Опубликовано 7 Августа 2004 Жалоба Поделиться Опубликовано 7 Августа 2004 ter А у меня нету такого файла Ссылка на комментарий Поделиться на других сайтах Прочее
Gri Опубликовано 8 Августа 2004 Жалоба Поделиться Опубликовано 8 Августа 2004 Кстати, что это у вас за символы такие ^M в коде?Когда я ставил тоже это заметил. Просто убрал этот символ и все замечательно поставилось. Вот только проверить работает или нет, нет возможности. Какие именно письма с форума этот хак переводит? Ссылка на комментарий Поделиться на других сайтах Прочее
Lisa Опубликовано 7 Октября 2004 Жалоба Поделиться Опубликовано 7 Октября 2004 Roix , в версии 2: /sources/classes/class_email.php найти var $char_set = 'iso-8859-1'(там сверху файла, сразу видно) и поставить var $char_set = 'windows-1251'; Ссылка на комментарий Поделиться на других сайтах Прочее
Hottt Опубликовано 1 Апреля 2005 Жалоба Поделиться Опубликовано 1 Апреля 2005 Roix , в версии 2: /sources/classes/class_email.php найти var $char_set = 'iso-8859-1'(там сверху файла, сразу видно) и поставить var $char_set = 'windows-1251';<{POST_SNAPBACK}> Огромное спасибо! Меня это вылечило![1112337012:1112343150]Поторопился я, уведомления с форума по-прежнему приходят в кодировке "абракадабра". Ссылка на комментарий Поделиться на других сайтах Прочее
kuu Опубликовано 2 Мая 2005 Жалоба Поделиться Опубликовано 2 Мая 2005 только вот нихрена вышеуказанный метод не работает var $char_set = 'iso-8859-1' Ссылка на комментарий Поделиться на других сайтах Прочее
Hottt Опубликовано 19 Мая 2005 Жалоба Поделиться Опубликовано 19 Мая 2005 И у меня не работает Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 19 Мая 2005 Жалоба Поделиться Опубликовано 19 Мая 2005 Для двойки помимо замены:var $char_set = 'iso-8859-1';наvar $char_set = 'windows-1251';Нужно еще найти: if ( $this->html_email ) { $this->mail_headers .= "MIME-Version: 1.0\n"; $this->mail_headers .= "Content-type: text/html; charset=\"".$this->char_set."\"\n"; }и добавить сразу после: else { $this->mail_headers .= "MIME-Version: 1.0\n"; $this->mail_headers .= "Content-type: text/plain; charset=\"".$this->char_set."\"\n"; $this->mail_headers .= "Content-Transfer-Encoding: 8bit\n"; } Должно помочь... Ссылка на комментарий Поделиться на других сайтах Прочее
Hottt Опубликовано 25 Мая 2005 Жалоба Поделиться Опубликовано 25 Мая 2005 Эти модификации привели к этому - Белая страница, чистая страница, пустая страница Ссылка на комментарий Поделиться на других сайтах Прочее
CatFish Опубликовано 21 Сентября 2005 Жалоба Поделиться Опубликовано 21 Сентября 2005 urisoftСпасибо, мне это помогло.IPB 2.0.3 Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения