Сменил кодировку, и письма с форума перестали приниматься сервером mail.ru

Автор GodDan, 30 ноября 2011, 17:31:36

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

GodDan

Приветствую!

Итак, проблема: отправленные с форума письма не проходят проверку у сервера mail.ru с жалобой на неправильный служебный заголовок "From".

Служебный заголовок выглядит так
From: "BForum.RU" <info[at]bforum.ru>

*. BForum.RU - название форума задано как адрес домена форум в админке.

Раньше письма отправлялись без проблем, и имели заголовок
From: =?windows-1251r?B? LB0408nLzskw898XSxa38K?= <info[at]bforum.ru>


Немного истории.
Неделю назад, я вынужден был сменить хостинг-провайдера, а вместе с ним и домен. Старый форум хостера был в кодировке windows-1251 и MySQL 3.x. Перед переносом решил конвертнуть форум в utf-8 и залить на новый хост в MySQL 5.x. Процесс переноса проделал так:
1) дамп старой базы открыл в AkelPad и пересохранил в кодировке «utf-8 (без BOM)»;
2) сделал по базе поиск с заменой старого домена «old-name.ru» на «bforum.ru», с сохранением результата;
3) на новом хосте создал БД: кодировка utf-8, сопоставление utf-8_general_ci; сравнение utf-8_general_ci.
4) скачал с оф.сайта «SMF 1.1.15 - install» и язык «smf_1-1-15_russian-utf8»;
5) залил файлы на сайт, и установил форум в кодировке utf-8;
6) через phpMyAdmin удалил из БД только что установленные таблицы, и вместо них импортировал дамп старого форума в кодировке utf-8;
7) форум отобразился без проблем, разве что, есть одна непонятная вещь


Так, на Главной странице форума у некоторых тем, в конце сокращенного названия, отображается значок. Значок отображается не у всех, а только у некоторых. При этом если навести курсор на название темы – во всплывающем окошке название отображается полностью и верно, без краказябликов, и в разделах, и в самой теме название тоже верное -- вот только на Главной. Мне непонятна природа этой выборочной проблемы.


Вообщем, такие вот дела.
Как можно вылечить заголовок "From", чтобы его стал принимать mail.ru.
По логике, должно быть нечто вроде:
From: =?utf-8?B?f56KdwOb408nLzskw898XSxar4S?= <info[at]bforum.ru>

И, попутно, что за краказяблики на Главной, может это проявление одной и той же беды?


Заранее благодарю за помощь!

Макар

про майл ру и его тараканов ниче не скажу , а вот

Цитата: GodDan от 30 ноября 2011, 17:31:361) дамп старой базы открыл в AkelPad и пересохранил в кодировке «utf-8 (без BOM)»;

вот так начинаются проблемы.............
которые мы создаем себе сами

собственно начать надо с пересрхранения бд и коррекции  и приведения кодировки к единообразию, везде

ну и поиск никто не отменял "кодировка" "кракозяблы" "обрезка"
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

GodDan

Цитата: Макар от 01 декабря 2011, 01:16:03про майл ру и его тараканов ниче не скажу , а вот
Ну а про то, почему раньше форум заголовок вставлял как "From: =?windows-1251r?B? LB0408nLzskw898XSxa38K?" , а сейчас просто "From: "BForum.RU"? Это наверняка mail.ru и не нравится?

Цитата: Макар от 01 декабря 2011, 01:16:03вот так начинаются проблемы.............
которые мы создаем себе сами

собственно начать надо с пересрхранения бд и коррекции  и приведения кодировки к единообразию, везде

Что значить "начать надо с пересрхранения бд и коррекции"?
БД  была в windows-1251 (кодировка, сопоставление и сведение), форум тоже в кодировке windows-1251, в этой же кодировке я слил бд на комп. Открыл в AkelPad и пересохранил в кодировке «utf-8 (без BOM)». Скажите, чем БД в windows-1251 отличается от другого текстового файла такой же кодировки, и почему мой вариант может вызвать проблемы?

Благодарю за ответы,


Макар

Цитата: GodDan от 30 ноября 2011, 17:31:361) дамп старой базы открыл в AkelPad и пересохранил в кодировке «utf-8 (без BOM)»; 2) сделал по базе поиск с заменой старого домена «old-name.ru» на «bforum.ru», с сохранением результата;3) на новом хосте создал БД: кодировка utf-8, сопоставление utf-8_general_ci; сравнение utf-8_general_ci.4) скачал с оф.сайта «SMF 1.1.15 - install» и язык «smf_1-1-15_russian-utf8»;5) залил файлы на сайт, и установил форум в кодировке utf-8;
сеттингс.пхп файл при этом использовался какой?

Цитата: GodDan от 30 ноября 2011, 17:31:366) через phpMyAdmin удалил из БД только что установленные таблицы, и вместо них импортировал дамп старого форума в кодировке utf-8;

угу
а в описаниях таблиц кодировка изменена?
база после заливки на хостинг читаема через пхпмуадмин?
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

GodDan

Цитата: Макар от 01 декабря 2011, 06:10:50сеттингс.пхп файл при этом использовался какой?
Прежде чем заливать бд на новом хостинге, я установил там форум с нуля из архива «SMF 1.1.15 - install», туда же залил язык «smf_1-1-15_russian-utf8». При инсталляции выбрал "Использовать кодировку UTF-8 по умолчанию". После инсталляции нового форума, я в phpMyAdmin проверил -- всё было UTF-8.

Цитата: Макар от 01 декабря 2011, 06:10:50а в описаниях таблиц кодировка изменена?
база после заливки на хостинг читаема через пхпмуадмин?
Повторюсь, после инсталляции нового форума в phpMyAdmin проверил -- всё было UTF-8. Потом взял и удалил из базы все таблицы нового форума, и вместо них импортировал старую базу. При импорте указал что файл в кодировке UTF-8.
После импорта, в phpMyAdmin  проверил кодировку БД: "MySQL кодировка: UTF-8 Unicode (utf8)"; "Сопоставление соединения с MySQL: utf8_unicode_ci"; "Сравнение таблиц: utf8_general_ci".

Цитата: Макар от 01 декабря 2011, 06:10:50база после заливки на хостинг читаема через пхпмуадмин?
Это как? Открыть "Обзор" той или иной таблицы, выбрать запись, нажать "Изменить" и посмотреть читаемо ли содержимое ячейки? Так?

GodDan

А есть что сказать по поводу служебного заголовка  "From" отдаваемого SMF"ом:
Сейчас отдается как
From: "BForum.RU" <info[at]bforum.ru>

Я пересмотрел заголовки старого форума. Тогда форум стоял 1.1.15, с в кодировкой windows-1251 и отдавал заголовок:
From: =?windows-1251r?B? LB0408nLzskw898XSxa38K?= <info[at]old-forum.ru>

Также посмотрел заголовки писем от других форумов (на разных движках). У кого стоит кодировка utf8 заголовок имеем вид:
From: =?utf-8?B?f56KdwOb408nLzskw898XSxar4S?= <info[at]site.ru>

Вопрос: почему не меня нет в заголовке "=?utf-8?.......?="?

Макар

Цитата: GodDan от 01 декабря 2011, 11:04:03Это как? Открыть "Обзор" той или иной таблицы, выбрать запись, нажать "Изменить" и посмотреть читаемо ли содержимое ячейки? Так?

да


Цитата: GodDan от 01 декабря 2011, 11:11:15Вопрос: почему не меня нет в заголовке "=?utf-8?.......?="?


локаль для языка установлена правильно ?
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

GodDan

Цитата: Макар от 01 декабря 2011, 13:04:20да
Нет, этого я не делал,не проверял так глубоко. Надо выборочно проверить читаемость каких-то отдельных таблиц, или все таблицы без исключения?
Там же тьма записей, ~19 тыщ сообщ., ~900тем, ~200 пользователей.


Цитата: Макар от 01 декабря 2011, 13:04:20локаль для языка установлена правильно ?
Простите, правильно ли я понял, Вы интересуетесь как установился русский язык? Если да, то как проверить правильно или нет?
В форуме все на русском, от народа не поступало сообщений об отличиях старого форума от нового, сказали только об обрезке, но это и так визуально видно, сразу на главной.

Макар

Цитата: GodDan от 01 декабря 2011, 13:27:01Там же тьма записей,

любую первую попавшуюся запись со временем создания до конвертации посмотреть можешь ли ты ее прочесть


Цитата: GodDan от 01 декабря 2011, 13:27:01Вы интересуетесь как установился русский язык? Если да, то как проверить правильно или нет?

хотя, тут подумал....... с датами ж у тя проблем нет, скорее всего что локаль задана

ай, блин, же ж у тебя единица

посмотри вот http://www.simplemachines.ru/index.php?topic=8039.msg70482#msg70482

а это из фака двойки, но вдруг http://www.simplemachines.ru/index.php?topic=6933.msg87807#msg87807 подойдет ......
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

GodDan

Цитата: Макар от 01 декабря 2011, 14:08:06любую первую попавшуюся запись со временем создания до конвертации посмотреть можешь ли ты ее прочесть
Понял, сделаю вечером, и отпишусь.

С обрезкой назв.тем на главной разобрался вчера, нашел на форуме "костыли".

Локаль проверю тоже вечером.

Макар, а эта Ваша картинка на что указывает?

Макар

Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

GodDan

Цитата: Макар от 02 декабря 2011, 00:24:59
у нее есть название ..........
Простите, был невнимателен.

Итак, докладываю.
Цитата: Макар от 01 декабря 2011, 06:10:50база после заливки на хостинг читаема через пхпмуадмин?
Да, читаема. Ни одной краказяблины не обнаружил при просмотре первой страницы таблиц ЛС и сообщений форума. Смотрел снаружи, как на Вашей картинке (отмечено желтым), т.е. внутрь ячейки не заходил.

Цитата: Макар от 01 декабря 2011, 13:04:20локаль для языка установлена правильно ?
"Язык форума по умолчанию: Russian-UTF8" (так в SMF 1.x вроде локаль завется?).

Теперь по поводу служебного заголовка  "From". Есть сдвиги в лучшую сторону.
Без проблем получил письмо с форума на ящик Маил.ру. В заголовках теперь уже пишется:
From: "=?UTF-8?At64F4gRd5/DEG69F5tk9w3=?=" <info[at]bforum.ru>

Я вот думаю, а могло ли улучшение произойти из-за того, что я в админке изменил название сайта с "BForum.RU" (было: From: "BForum.RU" <info[at]bforum.ru>") на "Курилка" (стало: From: "=?UTF-8?At64F4gRd5/DEG69F5tk9w3=?=" <info[at]bforum.ru>), -- то есть, доменное имя поменял на русское слово?
А может у хостинга отправка писем глючила?

С уважением,

oxeo

Цитата: GodDan от 01 декабря 2011, 14:38:15С обрезкой назв.тем на главной разобрался вчера, нашел на форуме "костыли".
как решили эту проблему?

GodDan

Цитата: oxeo от 07 января 2012, 21:16:21как решили эту проблему?
Проблема с обрезкой слов заголовков на Главной.
SMF v.1.x (для кодировки UTF-8)
В качестве быстрого костыля должно помочь:

в \Sources\Subs.php найти
return $func['substr']($subject, 0, $len) . '...';
и заменить на
return mb_substr($subject, 0, $len, 'utf-8') . '...';

Источник: http://www.simplemachines.ru/index.php?topic=9912.msg67260#msg67260

После смены кодировки форума (с win1251 на utf8) всплывает один пренеприятнейший момент -- сообщения, объем которых был близок к ограничению в 20000 знакам, после перехода отображаются "порезанными" из-за ограничения. При этом в базе сообщение сохранено всё, поэтому, можно сообщение "Изменить", вырезать лишнее (ок. 10-40% если кириллица) и добавить в следующее за ним (или новое) сообщение.