Как исправить проблему с кодировкой вложений в mail app

Приветствую коллективный мозг!
Периодически в mail.app (Версия 9.2 (3112), macos 10.11.3 (15D21)) часть имени вложения заменяется вопросами (символом “?”), см. аттач.

1. Заменяется часть имени вложения, что странно.
2. Локализовать проблему по отправителю или по почтовику отправителя не получается – проблема появляется время от времени.
3. Проблем с кодировкой самих сообщений (тела письма) нет
4. Почту получаю на gmail, в самом gmail, разумеется, проблемы нет.
5. Люди, получающие это же сообщение на других почтовиках (outlook, thunderbird) поблему не видят.
6. При этом, в одном сообщении могут присутствовать вложения с битыми и не битыми именами (см. второй аттач).

Как побороть? Уже сильно утомляет это…
b97c96ba13dc4dfc9c9a8b8d5758c00f.pngba34612be64d42279029cf26dba2ebc9.png

August 9 2009, 22:27

Уважаемые собщники!

2 вопроса по mail.app

1) Часто при переписке получаю отвкты на письма в кодировке ниже, а сегодня отправил пару отвтов на письма, заглянул в отправленные и увидел что mail.app отправил мое письмо в неправильной кодировке или по крайней мере мне так криво показывает, что я делаю не так?

Sent (1301 messages)

2) Я отправляю письмо с вложениями, фотки например, захожу в отправленные, чтобы посмотреть чего оправил и переслать это письмо по другому адресу, в поле просотра фоток не видно, хотя размер письма показывает, что они есть. Как можно добиться, чтобы вложения нормально отображались в письмах, бывает потребность посмотреть, что ты отправил, открыть.

Sent (1301 messages)
 

appВстроенный почтовый клиент Mac OS X с логичным и незамысловатым названием Mail есть за что похвалить — например, за развитую систему фильтрации писем на основе правил, за поддержку дополнительных плагинов, расширяющих возможности почты (вроде шифрования), за тесную интеграцию с клиентом iPhone и т.д. Но поводов для недовольства у пользователей Mail тоже хватает, особенно если они проживают не в англоговорящих странах. Главный повод — кодировка. Пожалуй, нет ни одного русского владельца Мака, который не сталкивался в Mail.app с тем, что принято называть словом «кракозябры» — это символьные шедевры вроде ÈØàÞÚÐï íÛÕÚâàØäØÚÐæØï, аЈаИб�аОаКаАб� б�аЛаЕ или даже Широкая электрРв названиях тем, содержимом писем или именах вложений.

Сегодня мы расскажем вам о сущности этой проблемы и некоторых путях её решения.

Mail.app  от других почтовых клиентов традиционно отличает повышенная чувствительность к тому, из какой программы было отправлено письмо. Дело в том, что разные почтовые клиенты имеют присущие только им особенности разметки и оформления электронных писем, невидимые глазу пользователя, зато воспринимаемые серверами и программами.

Проблема усугубляется ещё и тем, что в настройках Mail невозможно задать кодировку входящих писем по умолчанию — т.е. способ перевода привычных нам букв, цифр и знаков препинания в привычные компьютеру биты и байты. Mail пытается автоматически распознать кодировку входящей почты, и как-то непосредственно повлиять на этот процесс пользователь тоже не может.

Зато возможно повлиять на этот процесс косвенно. Набор кодировок, которые Mail использует для распознания, зависит от набора используемых всей системой кодировок. А Этот набор, в свою очередь, зависит от количества используемых системой языков. Отсюда вытекает первый совет — удалите из системы все неиспользуемые вами языки.

Зайдите в Системные настройки, выберите пульт «Язык и текст», и увидите следующий список:

Список языков Mac OS X

Список языков Mac OS X

Нажмите на кнопку «Редактировать список» и снимите соответствующие галочки. После этого перезагрузите компьютер или завершите сеанс.

Представленный скриншот сделан в системе Mac OS X 10.6.2. В Mac OS X 10.5 данный пульт настроек устроен несколько иначе, однако редактирование списка языков там организовано почти так же.

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

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

  1. найдите несколько писем с кракозябрами
  2. выберите первое и зайдите в меню Сообщение — Кодировка текста
  3. последовательно перепробуйте все кодировки, начинающиеся со слова «Кириллическая» (KOI8-R, ISO 8859-5, Windows), а также UTF-8
  4. если письмо стало читабельным, посмотрите на остальные письма: если и их можно прочесть, то считайте, что решение найдено
  5. в противном случае продолжайте перебор кодировок

Меню кодировок Mail

Меню кодировок Mail

Если вы нашли подходящую кодировку, то останется её зафиксировать. Скорее всего, это будет либо кодировка KOI8-R, либо UTF-8. Полностью завершите Mail (по комбинации Cmd+Q). Запустите Терминал (через Spotlight или из папки Программы/Служебные программы), и введите команду:

defaults write com.apple.mail NSPreferredMailCharset koi8-r

или

defaults write com.apple.mail NSPreferredMailCharset utf-8

После чего нажмите Enter и закройте Терминал.

Если не хотите возиться с Терминалом, то можете установить пульт настроек Secrets и сменить кодировку через него:

Смена кодировки Mail через пульт Secrets

Смена кодировки Mail через пульт Secrets

Если предложенный выше вариант не сработает, попробуйте прописать через Терминал ещё один параметр:

defaults write com.apple.mail LeopardPreferredMailCharset utf-8

(или defaults write com.apple.mail LeopardPreferredMailCharset koi8-r)

Возможно, это поможет вам избавиться от проблем с кодировкой в темах и тексте писем. С русскими именами вложений ситуация ещё более загадочна. Многолетние наблюдения позволяют говорить о том, что в их порче виноват вовсе не Mail, а отправляющая почту программа. Например, известен глюк с письмами из Thunderbird — практически всегда имена вложений на русском приходят на Мак испорченными. Для решения этой проблемы в самом Thunderbird необходимо изменить значение параметра mail.strictly_mime.parm_folding равным единице.

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

Mail.app и проблемы с кодировкой – при обмене почтой с коллегами, которые используют Outlook разных версий периодически возникают проблемы с кодировкой. Если для первой есть обходное решение, то вторую, появившуюся в Yosemite, пока не нашел, как вылечить. Вариант есть, но он нереализуемый 🙂

Проблема 1: не работает Personal Hotspot

Временное решение: переименовать телефон и подключиться по wi-fi или не переименовывать и подключиться по кабелю.

Проблема 2: Mail.app и проблемы с кодировкой

Проблема 2.1 (назовем условно, проблема “РРР”)

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

Пример: Дубль РґРІР°.

Причина:
Письмо отправлено в формате Rich-text (читай HTML) и Outlook неверно итерпретирует объект “вложение”, если вложение (картинка или xls или doc или что-угодно) вставлено в середину письма (ключевое слово для Google = “inline”). У Outlook срывает мозг, результат вы знаете какой.

Как лечить:
Если у вас не Yosemite, а что-то более древнее, ставить плагин для Mail.app “Attachment Tamer” (платный, но можно поставить бесконечный триал) и включить опцию “bulletproof encoding”.
Если у вас Yosemite: ждать починки от Apple.

Временное решение:
Не вставлять в тело письма картинки и файлы, а отправлять их в виде вложений, причем, обязательно необходимо, чтобы вложение перед отправкой вставлялось в конец письма. Для этого необходимо сделать следующее:
Открыть Mail.app
Edit > Attachments > Проставить все 3 галки.

UPD1:

попробовал отключить опции 2 и 3 из Edit > Attachments. Пока вроде бы тьфу-тьфу. Возможно, был сам себе злобный Буратино.

UPD2:

так и есть

UPD3:

Галки можно ставить как угодно. См. решение проблемы 2.2.

UPD4:
Разобрался с причиной. Похоже на реальный баг Apple.

Удалось разобраться только после того, как коллега, который сидит рядом, переехал на Мак и нам пришло одно и тоже письмо на двоих. Я ответил – у меня кракозябры. Он ответил – у него все ОК. Начали сравнивать настройки. Перерыл все.

Разница была в наличии у меня ОРФО (http://www.orfo.ru). Штукой пользуюсь уже давно. Как недавно оказалось, пользовался я ей не правильно до конца. Осознание этого факта совпало с выходом Yosemite 🙂 Соответственно, коварная настройка была выставлена сразу после обновления ОС.

Итак, кодировка ломается, если у вас так:

или так

Как говорится, найдите 10 отличий 🙂
Все становится в порядке, если сделать так:

Итого, чтобы починить все проблемы с кодировкой (2 дня – полет нормальный), нужно в языковых настройках включить “Автоматическое определение языка”.

Минусы:

Если вы пользуетесь ОРФО, как я, то во всех приложениях, кроме пакета MS Office, он работать не будет.

Засабмитил баг в Apple. Ждем ответа.

UPD5: ОРФО будет работать, если сделать как на следующей картинке (воркэраунд от разработчиков ОРФО).

Проблема 2.2 (назовем условно, проблема “ZZZ”)

Проявляется только, начиная с Yosemite! и только на ноутбуках.

Во время переписки кто-то из ваших собеседников с Outlook решает процитировать что-то из текста и использует выделение цитаты с помощью символа > (больше). Потом нажимает пробел. Outlook автозаменой знак больше меняет на юникодный треугольник. Получив такую цитату, весь текст превращается в текст с буквами Z. Также в тема письма может отображаться арабской вязью.

Пример: ŽÁ ŽÓŽãŽÖ ŽáŽāŽßŽÚŽÞŽŅŽð, ŽßŽā ŽÞŽßŽÖ ŽßŽåŽØŽÖŽß ŽÜŽāŽÞŽÞŽÖŽßŽäŽŅŽâŽÚŽÛ

Как лечить: 
Если у вас не Yosemite, у вас такой проблемы быть не должно.
Если у вас Yosemite: ждать починки от Apple.

Временное решение:
Увы, я его пока не нашел. Как вариант, попросить ваших коллег, пользующихся Outlook, не использовать цитирование через CTRL+Enter, но, как сами понимаете, это фантастика 🙂

Если кто-то знает, как решать эти проблемы, пишите в комментариях. Буду очень признателен. Почти ушел обратно.

UPD: 
Засабмитил баг в Apple.

Проблема 2.3 (назовем проблемой БИЖПКЖО)

Появляется, когда ответ на письмо пишут с iPhone с прошивкой 8.1.х.
В теле письма откуда-то взялась кодировка “GB2312”.

Content-Type: text/plain; charset=”gb2312″

Пример: ЇГ ЇхЇгЇбЇиЇжЇпЇкЇжЇо,

Как лечить:
Пока не знаю.

UPD:
С 8.2 проблем пока не замечено.

Hi,

The problem is that Mail.app set incorrect filename for attachment. I have gmail account and set up Mail.app as IMAP client. Most attachments are correct, but sometimes they come with bad names.For example:

User uploaded file

In gmail account (web) everything is ok:

User uploaded file

The problem is that Mail.app set another filename, set up KOI-8 and instead of having one name=”…..”, we have name*0, name*1, name*2

In gmail:

Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document;

name=”=?UTF-8?B?0KTRg9C90LrRhtC40L7QvdCw0LvRjNC90YvQtSDRgtGA0LXQsdC+0LLQsN C90LjRjyDQuiDQpNCe?=

=?UTF-8?B?0J8gLSDQstGL0LHQvtGAINC/0YDQvtC00YPQutGC0LAg0Lgg0L/QvtC70Y8g0LrQ vtGC0L7RgNGL0LUg?=

=?UTF-8?B?0L7RgdGC0LDRjtGC0YHRj192NC0xLmRvY3g=?=”

Content-Disposition: attachment;

filename=”=?UTF-8?B?0KTRg9C90LrRhtC40L7QvdCw0LvRjNC90YvQtSDRgtGA0LXQsdC+0L LQsNC90LjRjyDQuiDQpNCe?=

=?UTF-8?B?0J8gLSDQstGL0LHQvtGAINC/0YDQvtC00YPQutGC0LAg0Lgg0L/QvtC70Y8g0LrQ vtGC0L7RgNGL0LUg?=

=?UTF-8?B?0L7RgdGC0LDRjtGC0YHRj192NC0xLmRvY3g=?=”

Content-Transfer-Encoding: base64

X-Attachment-Id: f_hg876ra80

In Mail.App

Content-Disposition: ATTACHMENT;

filename*0=”=?KOI8-R?B?5tXOy8PJz87BzNjO2cUg1NLFws/Xwc7J0SDLIObv8CAtINfZws/ SI”;

filename*1=”NA=?= =?KOI8-R?B?0s/E1cvUwSDJINDPzNEgy8/Uz9LZxSDP09TBwNTT0V92NC0″;

filename*2=”xLmRvY3g=?=”

Content-Type: APPLICATION/VND.OPENXMLFORMATS-OFFICEDOCUMENT.WORDPROCESSINGML.DOCUMENT;

name*0=”=?KOI8-R?B?5tXOy8PJz87BzNjO2cUg1NLFws/Xwc7J0SDLIObv8CAtINfZws/SI”;

name*1=”NA=?= =?KOI8-R?B?0s/E1cvUwSDJINDPzNEgy8/Uz9LZxSDP09TBwNTT0V92NC0″;

name*2=”xLmRvY3g=?=”

Content-Transfer-Encoding: BASE64

Добавить комментарий