Как стать автором
Обновить

Комментарии 125

Лучше поздно, чем никогда.
Видать до 21 века добрались :)
Видать, вручную конвертили каждый аккаунт…
Ну вот вы смеетесь, а если посчитать: обработать 6 петабайт за 3 месяца — это скорость обработки 760 мегабайт в секунду или 6 Gbit/s! ;)
как у вас получилось 3 месяца, если в статье речь о 4-6 месяцах — начато осенью, а весной закончено?
Ну это я Вам честные данные раскрываю — осенью мы начали экспериментировать на собственных ящиках, а с февраля по апрель перевели всех пользователей.
Я ничего и не заметил. Молодцы!
Теперь я могу без «кракозябры» в Канаду друзьям писать?
Mail.ru впереди планеты всей!
Мейл.Ру — один из самых плохих бесплатных почтовых сервисов, как пример:
у знакомой ящик был на мейл.ру, она работает в турагенстве, поток писем большой… и вот ящике 10000 писем, отвалился поп3, теперь по поп3 почту не получить, имап они не дают, удалять через вебинтерфейс можно только по 20-30 штук, если больше поставить то долго думает а потом пишет мол запрос обработать не удалось. Удалить все письма скопом отобрав по фильтру невозможно.
Короче завели ящик на гугле, с мейл.ру поставили пересылку. На гугле уже больше 600000 писем, а работает по прежнему шустро.

drdroid, пост Вам, но в тему критики.

Может поздно уже в тему писать, но не мог пройти мимо, когда mail.ru утверждает, что все с кодировкой у них хорошо, а письма в utf-8 отображаются частично кракозябрами. Те же самые письма на сервисы gmail и yandex доходят без проблем.

Весь этот mail.ru, как и остальные продукты — кусок кала. Все сервисы через жопу работают. Только создают своим существованием больше проблем тем, кто вынужден по долгу службы с ними бороться. Не так давно начали принудительно свои браузеры ставить. Спутники, защитники — собирающие данные пользователей.

Извините, ребята из mail.ru, лучше не позорьтесь на Хабре, либо самокликвидирутесь, либо делайте свою работу хорошо. Если не станет mail.ru — мир будет лучше.
Эмоция всего одна — ого, неужели раньше было не UTF-8? Спасибо за увлекательный экскурс.
Если уж даже Хабр, что программистов полон, перелез на UTF-8 сравнительно недавно…
мы успешно перевели нашу почту на UTF-8.
Добро пожаловать в XXI век!
Welcome to the World of Tomorrow!

Futurama - Welcome to the World of Tomorrow!
А чо такие скептики все? радоваться надо, по-мему)
Чему? — все желающие иметь нормальную почту уже давно сидят на других сервисах (и дело вовсе не в utf)
Ну теперь работайте над доступом к почте по всем протоколам с использованием IPv6
Не поверите — работаем ;)
да, мы знаем, конечно, что utf-8 это маст хэв, странно не иметь и все такое. но, тем не менее, исторически это было нашей больной темой, требующей вложения достаточно серьезных усилий, т.к. перевести огромную уже работающую махину на новые рельсы это не совсем то же самое, что запустить новый проект. тем не менее, мы провели эту работу и теперь можем идти дальше и развиваться, не имея такой значительной инфраструктурной проблемы.

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

спасибо за отзывы :)
разве в рельсах есть проблемы с юникодом?
сделайте пожалуйста нормальное API к почте и адресной книге.
а как вы хотите его использовать, если не секрет? :)
исключительно в мирных целях.
Угу, успешно перевели.
В папке «Входящие» какой-то спам: «Регистрация на Club.CNews.ru»
Открываю, тема письма чудесно меняется на "����������� �� Club.CNews.ru".
> В папке «Входящие» какой-то спам…

Да чёрт с ним, с UTF-8.
Одного этого факта должно хватить, чтобы уже перестать пользоваться почтой mail.ru
Это такая защита от спама — неправильная кодировка.
Ну во первых, это все же не спам, а письмо от клуба cnews, куда Вы, видимо, вступили (хотя если лично для Вас это спам — просто один раз нажмите кнопку «Это спам»). А во вторых, тут не utf-8 виноват, а само письмо неправильно оформлено: в заголовке «Subject:» написаны русские символы в cp1251, без какого-либо кодирования и указания кодировки (по стандартам так нельзя делать).
1. Спам или не спам, в данном случае не важно. Но я никуда не вступал и нигде не регистрировался — этим ящиком я не пользуюсь много лет, держу его только ради пары старых аккаунтов в других местах, а письмо датировано прошлой неделей.

2. «Письмо неправильно оформлено» — этот аргумент можно было бы принять во внимание, если бы тема письма всегда показывалась ромбиками. Но в папке «Входящие», там где список писем, тема письма показывается правильно, кириллицей, а при открытии письма кириллица в теме вдруг заменяется на ромбики. Текст письма при этом отображается корректно.
А во вторых, тут не utf-8 виноват, а само письмо неправильно оформлено: в заголовке «Subject:» написаны русские символы в cp1251, без какого-либо кодирования и указания кодировки (по стандартам так нельзя делать).
Вообще-то вы могли это обойти.
Анализировать заголовки письма (Subject, From, To и прочие), и если там корректно указана кодировка согласно RFC 2047 (т.е. строка вида =?koi8-r?Q?this=20is=20some=20text?= или =?win-1251?B?this=20is=20some=20text?=) тогда правильно раскодировать эту строку и приводить её к виду UTF-8, а если же заголовок оформлен не по стандарту, а просто идёт текстовая строка в 8-битной кодировке (cp1251, koi8-r, cp866 и проч.) без указания этой кодировки в заголовке, тогда считать по умолчанию, что кодировка заголовка совпадает с кодировкой тела письма, указанному в соответствующих MIME-заголовках. Обычно эти кодировки всё же совпадают, поэтому можно раскодировать заголовки и перевести в UTF-8.

Но даже если письмо отправлено каким-то убогим софтом, который в теле письма использует одну 8-битную кодировку (например, koi8-r), а в заголовках письма использует другую 8-битную кодировку (например, cp1251), при этом не оформляет заголовки правильно по RFC 2047, а просто оставляет 8-битный текст без указания кодировки, то и тут можно было найти выход. Анализировать строку, искать в ней типичные для языка буквосочетания и на основании этого угадывать текущую кодировку заголовков. На подобии того, как автоматически распознаёт кодировки текста программа Штирлиц.
Согласен, поскольку неправильные письма порой встречаются — автоматическая определялка полезная штука. По моему, лучше всего делать ее по частотности буквосочетаний. Кстати, кое-какие эвристики у нас и сейчас работают, думаю будем их улучшать в ближайшее время.
Ребята молодцы, спасибо за исторический экскурс
pro.mail.ru в FF с adblock не работает — фишка такая?
Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком. По прошествии 19 (!!!) лет mail.ru решила его внедрить. :)
Ну что ж, спасибо и на этом, хотя этот сервис для меня уже давно забытое прошлое.
Да, конечно, было бы неплохо сделать это пораньше. Однако, если верить статистике от Google — только недавно количество utf-сайтов превысило количество не-unicode. А если посмотреть на другие источники — то может оказаться, что 60% сайтов все еще не используют юникод.
ваш проект, как один из лидеров — не должен смотреть на подобные статистики, а думать, что удобнее и актуальнее для пользователей. Статистика — это отмазка для начальства.
Подождите-подождите… я не понял… можно я еще раз повторю, чтобы быть увереным что я не очитался?

У ВАС ДО ЭТОГО НЕ БЫЛО UTF-8 И ВЫ ВСЕ ВСЕ ХРАНИЛИ В 1251?????!!

Ну извините…
А когда у вас еще и по imap доступ к ящику появится? Или я прозевал этот счастливый момент? =)
Я уже писал уважаемым.
Коротко: «Как только, так сразу» (читать: «никогда»)

т.е он был, но сплыл.
У меня на новой работе koi8-r. Сайт начал писаться аж в 2005 году, надо переводить.
А кто-то еще пользуется mail.ru?
Я держу там один ящик для коллекции с моим ником ;)
Почему нет то? Не гики пользуются и вполне успешно, сервис как сервис
Да, я, например. Помимо этого есть на гуглопочте аккаунт. А собственно в чём проблема? Работает и ладно.
Ну у меня после ряда серьезных глюков, появления старых и давно прочитанных писем, помеченных как новых и прочего пропало желание пользоваться этим почтовиком.
Я пользуюсь. Спам, может одно письмо в день приходит. Остальным устраивает все. Правда больше пользуюсь из-за домена @mail.ru, т.к. он больше нравится, чем @gmail.com, @yandex.ru. Также дофига аккаунтов на @mail.ru завязаны, которые лень переводить. На Гугле и Яндексе тоже есть ящики, но они больше для регистраций на говносайтах всяких.
я пользуюсь, меньше спама, чем в гуглопочте
Не прошло и полуг… хм. А нет, прошло О_о
Да, полгода как раз прошло ;)
> Хотим поделиться радостью: мы успешно перевели нашу почту на UTF-8.

А мы хотим поделиться с вами ответной радостью: мы успешно перевели нашу почту на GMail.
Если перевели всё, например из windows-1251, по идее увеличилось в 2 раза размер данных?
Это 16-битные кодировки по сравнению с 8-битными дают двукратный прирост. Например, в UTF-16 большинство символов кодируется ровно двумя байтами.

С UTF-8 хитрее. Например, символы ASCII (латиница) там кодируются одним байтом, а прочие символы из набора Unicode там кодируются несколькими байтами (в теории от 2 до 6, на практике от 2 до 4).
Поэтому ровно двукратного прироста по сравнению с 8-битной cp1251 не будет.
в русскоязычной почте, наверно, большая часть будет двухкратным приростом))
часть текста письма в во всем что приходит на почту (+ прикрепленные файлы, ...), составляет не такую большую долю
Да, кстати, вам надо бы еще глубоко задуматься над интерфейсом.
Давно задумались. Первые публичные плоды этих «раздумий» (а на деле — человекомесяцев работы) с прошлой недели доступны всем пользователям (достаточно включить в настройках галочку «использовать новый интерейс»). Но это, конечно, только начало — еще напишем об интерфейсах на Хабре.
О, ну уже гораздо лучше.
а теперь, внимание, тупой вопрос. если бы я не читал хабр и не дошёл бы до почти низа страницы и не прочёл бы Ваш комментарий, как бы я узнал что там какой-то новый интерфейс??

зы, у меня там ящик только для статистики, но это ж надо так извратится то?
Спокойствие, только спокойствие! Как только мы исправим в новом интерфейсе все известные нам баги и он покажет свою надежность — мы разумеется предложим всем пользователям переключиться. Пока что он специально «спрятан», чтобы не тревожить массового пользователя, который не умеет, например, нажимать Ctrl-F5 ;)
тогда вы зачем тут публикуете? устраивайте альфа, бета тестирования, и т.д. :)
Братюня, ты чо такой дерзкий? Так сильно брызжешь слюной, что сам себе противоречишь:

> а теперь, внимание, тупой вопрос. если бы я не читал хабр, как бы я узнал что там какой-то новый интерфейс??

тогда вы зачем тут публикуете? устраивайте альфа, бета тестирования, и т.д. :)

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

Вставлять в тело письма совершенно неуместную там рекламу своих сервисов (я в моем мире! / Новая байда на мейл.ру!) — это очень плохой тон.

Что касается спама — с этим у вас сейчас я проблем не вижу.
> Что касается спама — с этим у вас сейчас я проблем не вижу.

… потому что не пользуюсь.
ну вот завел себе левый ящик там недавно по работе от имени несуществующего лица — и него, за две недели ни одного мусорного письма. Раньше такого не было.
Вот на gmail мне постоянно всякая фишерская мишура приходит, и просто спам тоже. Видимо, регистрировался где-то, где этого делать не стоило.
А когда увеличите максимальный размер входящего файла хотя бы до гугловского 25-метрового?
У них на сайте написано: «Неограниченный вес вложений».
Очень странно. Сегодня отправлял на мылору с гуглопочты 23-метровый файл, вернулось письмо с ошибкой следующего содержания:
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 552 552 Sorry, message size exceeds the maximum allowed (state 18).
Это очень странно. Проверим + спишусь с Вами в личке.
Это, видимо, как про «безлимитный мобильный интернет» в рекламе российских сотовых операторов.
По-моему, это моветон — слать почтой такие объёмы — есть же масса других сервисов для обмена и публикации файлов.
Есть контингент, часто состоящий из руководящих должностей, которых вводит в ступор «масса других сервисов для обмена и публикации файлов. „
а icq на utf перевести нет планов?
я бы предложил перевести ICQ на XMPP
icq на utf уже лет 6-7.
qip 2005 и подобные клиенты на utf должны переводить не мы, а их авторы.
Некий патч, который лечит проблему для них на стороне сервера выложен этой ночью.
вы хотите сказать, что все сообщения передающиеся по протоколу OSCAR уже в utf8,
или для них указывается какая однобайтовая кодировка использована отправителем?

во всех виденных мной клиентах для нормальной работы с виндоконтактами требуется устанавливать кодировку в настройках соединения.
Рекомендовано отправлять в utf-8, официальные клиенты отправляют в utf-8.

Если клиент-получатель умеет получать в utf-8, то мы конвертируем сообщения для него в utf-8 из любой кодировки отправителя.
«рекомендовано» — это значит, что кодировка в сообщении не указывается, и протокол не стандартизирует кодировку.

тоесть, о том, чтобы отправлять в utf8 таки надо договариваться с разработчиками клиентов либо между отправителем и получателем?
Рекомендовано это значит, что кодировка в сообщении указывается, и протокол рекомендует и указывать, и использовать utf8.

О том, чтобы QIP 2005 перестал отправлять cp1251 надо договариваться с разработчиком QIP 2005, а потом проапдейтить все клиенты QIP 2005 у всех пользователей. Да, увы.
понял. протестил.
дело таки в старых клиентах.
Кстати, в результате тестов каких-то кракозябр добиться удалось? И если удалось, то на какой паре клиентов?
с empathy(utf-8) на qip2005
Спасибо.
Если будут ещё примеры — кидайте.
в вопросе о «перевести на utf» я имел ввиду избавиться от проблем кодировок вообще,
а не возможность передавать по icq последовательность байт, представляющих собой строки, закодированные в utf8 и с возможностью декодировать их, угадав, что это utf8.

В FAQ от pidgin написано:
ICQ has no comprehension of character sets or encodings. It simply sends (almost) any random chunk of data a user enters. Pidgin by default assumes everything is UTF-8
Единственный путь к этому — заблочить доступ QIP 2005 и ещё нескольких старых клиентов (включая старые пиджины). Нам этот путь кажется неправильным.

В FAQ pidgin написана глупость, даже исходники pidgin'а ей противоречат.
За исторический экскурс спасибо, хотя дат не хватает.
Статью полностью не осилил, но все равно интересная.
Ну а что тут сказать, молодцы, идете в ногу со временем, особенно учитывая доклад на последнем хайлоаде ребят из мэйлру о том, как они героически и инновационно перешли с CVS на SVN, не читая их мануала похоже :)
Ну что Вы такое говорите, у нас давно уже git! ;)
В России любят традиции: Turbo Pascal, VB6, KOI-8r, CP-1251, CVS, SVN, ICQ, ЖЖ,…
ели вы ругаете ЖЖ за несовременность платформы, то замечу, что не платформа сама по себе держит там пользователей, а сложившиеся социальные связи и присутствие там известных людей.
Более того, попытки супа осовременить его, в большинстве случаев, делают все только хуже.
Я не ругаю ЖЖ, равно как и остальные перечисленные технологии
Осталось сделать так, чтобы захотелось пользоваться вашей почтой и вообще заходить на сайт. Например полностью выбросить весь дизайн начала двадцать первого века, и поменять на тот, от вида которого не будет коротить.
На счет дизайна — смотрите инсайд выше (официальный релиз будет чуть позже)
видимо, местная молодежь 87-90 г.р. не сильно в курсе истории )). А зря, прочтите статью. Да и сам вопрос PHP + UTF не закрыт до сих пор. Всего пару-тройку лет назад, для большого проекта, полноценная поддержка UTF в PHP давалась непросто, да и сейчас, как говорится, «ждем PHP 6»))
НЛО прилетело и опубликовало эту надпись здесь
Давно надо было внедрить. В России и в странах бывшего СССР живут народы, в алфавитах которых есть множество букв, не умещающихся в CP1251. Отсутствие поддержки Юникода мешает им переписываться на родном языке.
> Не считая в чистом виде двоичной азбуки Морзе

Она троичная (точка, тире, пауза).
Переход самого сервиса на UTF-8 радостен, но практически бесполезен, потому что львиная доля пользователей в силу своей ограниченности использует другие кодировки. Попробуйте вот их переучить теперь.
В почтовом клиенте они тоже будут кодировку менять?
Если используются два разных языка MS-почтовые клиенты сами настойчиво рекомендуют пользователю переключиться на UTF. Если используется один язык — всё и так хорошо.
>Если используется один язык — всё и так хорошо.
Вот и шлют всё в Win-1251 и KOI-8. Сиди потом, разбирай их «бнопни».
Бнопни это проблема каких-то уж совсем мохнатых годов. Для писем отправленных из более-менее нормальных почтовых клиентов/веб-почт её не существует уже лет 10.

Более того, проблема эта от используемой кодировки не зависит, бнопня — результат несоответствия указанной и реальной кодировки, её можно что с koi8, что с utf неправильно указать.

Счастливый мир, когда кодировка будет вообще только одна и её можно будет не указывать, наступит совсем не скоро и момент его наступления зависит не от Mail.Ru.
Вот только вчера пришло очередное уведомление о прочтении в «бнопне».

Виноваты, как всегда, безграмотные хомячки, которые составляют основную часть ваших пользователей. А значит проблема неразрешима.
«Безграмотные хомячки»
а) ни в чем не виноваты;
б) в среднем достаточно грамотны на фоне компьютерных гиков, просто их грамотность проявляется в более полезных областях, чем кодировки и языки программирования.

Что касается вчерашней бнопки, то виноват один из мейлеров, с большей вероятностью — мейлер отправителя.
Безграмотность в том, чем пользуешься постоянно — это ещё какой порок.
Вы строитель или живете на улице?
Вы диетолог или питаетесь только святым духом?
Вы сантехник или в туалет не ходите?
Я вхожу через дверь, а не через окно.
Я не ем с пола.
Я оставляю после себя санузел в адекватном виде, а не таким, каким он был в начальном эпизоде фильма «Desperado».

Разрабатывать и пользоваться — разные вещи. Странно, что никто не хочет это понимать.
Посольку UTF-8 использует для некоторых символов не 1 байт, можно поинтересоваться, насколько выросла общая база с 6-ти петабайт?
Я цифр не знаю, но предположу, что незначительно. Основная масса 6 петабайт — аттачи.
Переход на utf повлиял прежде всего на размер различных индексов (для отображения списка писем, для поиска и т.п.). Само тело письма хранится в том виде, в котором пришло — поэтому общие размер хранилища увеличился не сильно.
> Само тело письма хранится в том виде, в котором пришло

Так, а что именно вы вообще перевели на UTF-8 вообще? Назовите по пунктам.
Только веб-интерфейс сайта и какие-то поисковые индексы что ли?

В какой кодировке по умолчанию формируется новое письмо, создаваемое и отправляемое из интерфейса сайта mail.ru и pro.mail.ru?
В какой кодировке формируется из вашего интерфейса ответы на чужие письма (если исходное письмо пришло в koi8-r, cp1251, сз866, UTF-8, UTF-16 и др. кодировках)?
Смотрите, как было раньше:
— пришло письмо в cp1251 — мы его выводим в cp1251
— пришло письмо в utf8 — мы его выводим в cp1251 (потеряли часть символов)

Как теперь:
— пришло письмо в cp1251 — мы его выводим в utf8
— пришло письмо в utf8 — мы его выводим в utf8 (ничего не теряем)

Соответственно, ответить тоже можно в полноценном utf8.

А как оно хранится внутри — это же не имеет значения. Технически нам удобнее хранить ровно те байты, которые пришли по SMTP (так кстати почти все почты делают).
— пришло письмо в utf8 — мы его выводим в cp1251 (потеряли часть символов)

можно было бы делать скриншот и отображать П-лю изображением.
Техническое решение не сильно хуже Вашего, но зато П-ль получает все данные.
Отличная статья, но при чем тут MAIL.RU?
Каждый новый пост в блоге Mail.ru открывает для меня всё новые грани технологической отсталости Mail.ru от Яндекса и Google :)
А это вы ещё наш код не видели!
И не увидим скорее всего )
Или у mail.ru есть что-то с открытыми исходниками?
У всех сайтов javascript-код открыт ;-)
Скажите, а нельзя что-то подправить в интерфейсе, чтобы письма уходили не в base64, а в quoted-printable?
Простите за поздний ответ, но все же — а зачем? Мы наоборот пару лет назад перешли на base64, поскольку QP вызывает проблемы с письмами в некоторых клиентах (отображение, пересылка и т.п.).
Письма, отправленные с веб-интерфейса «мэйла», приходят через yahoogroups нечитаемыми. Сейчас уже не помню деталей, но, вроде бы, связано это с тем, что Y!G плохо понимает base64 и его кодировку, а потому добавляет свою подпись в подвал в восьмибитной кодировке и её же прописывает в заголовке. В результате некоторые почтовики могут прочесть письмо, но многие — пасуют и показывают нормально только подпись от yahoogroups.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий