Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Кодировка писем на смартфоны (http://forum.oszone.net/showthread.php?t=318041)

ALARMus 22-08-2016 11:09 2662044

Кодировка писем на смартфоны
 
Здравствуйте.
Не знаю точно ли к ourlook'у эта тема, Exchange'у или еще куда, но пока не разобрался сложно отнести её к чему-либо конкретно.
Помогите решить следующую проблему.

Есть софт, который формирует HTML содержимое для тела письма. (и тему и получателя)

Другой софт берет это тело письма и используя профиль outlook (используя учетные данные этого профиля) имеющийся на этом ПК, отсылает письмо адресату.

Exchange 2010 (это все внутри организации) передает все это адресату.

Outlook прекрасно читает данное письмо, но вот если письмо открывают со смартфона, то видят не читаемую кодировку.

Iska 22-08-2016 11:13 2662045

Цитата:

Цитата ALARMus
но вот если письмо открывают со смартфона, то видят не читаемую кодировку. »

Что за смартфон, какой используется на нём клиент, приложите образец письма, упакованного в архив.

lxa85 22-08-2016 11:19 2662047

ALARMus, чем открывают письмо на смартфоне?
Какие кодировки поддерживает смартфон?
Какие кодировки указаны непосредственно в HTML?
Почему нельзя привести кодировку html в читаемый для смартфона вид?
Пожалуйста больше конкретики и технической информации.

ALARMus 22-08-2016 11:33 2662052

Смартфоны у людей разнообразные (на Android, Iphone) - стандартные клиенты, встроенные в них.
Exchange 2010, клиент MS outlook 2010 русский (на том ПК, с которого идет отправка)

В html была указана "utf-8", при смене( параметра charset) на koi-8 и windows -1251 ничего не поменялось, outlook как показывал так и показывает, а смартфоны по прежнему нет.

Начало html текста:

HTML код:

<html>
<head>
<title>win 1251 - название для отладки</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

</head>
<body>
<table style="width: 98%;">
  <tbody>
    <tr>
      <td align="left" valign="top">
      <table style="width: 600px;">
        <tbody>
          <tr>
            <td valign="top">
            <table style="font-family: arial;"
 cellpadding="10" cellspacing="10" width="100%">

              <tbody>
                <tr>
                  <td style="width: 100%;" align="left"
 valign="top">

                  <h1
 style="font-size: 24px; color: rgb(0, 51, 102);">
<span
 style="color: rgb(255, 0, 0);">
У</span>важаемый(ая)&nbsp;</h1>
...


Iska 22-08-2016 11:55 2662059

ALARMus, само письмо приложите в архиве, а не html-текст.

ALARMus 22-08-2016 12:30 2662065

с письмом сложнее. Содержится информация, которую нельзя передавать, а редактировать письмо в outlook - это может все поменять.

Iska 22-08-2016 12:45 2662067

Ну, сделайте какое-нибудь тестовое письмо.

ALARMus 22-08-2016 13:08 2662073

Увы письмо автоматическое формируемое программой, в которой как аргументы подставляются данные (ФИО, ...)
Если письмо сделаю просто я (в outlook) , то результата не добиться?
Так как если эти автоматические письма:
-открыть в outlook(где оно читается нормально) и сделать переслать и потом открыть его в смартфоне - то оно читается
-открыть в смартфоне (не читаемое) переслать и открыть в outlook - то тоже становится нечитаемым

чисто логически клиент outlook, что-то добавляет в заголовки, что делает возможным клиентам на смартфоне прочитать ранее не читаемое сообщение (т.е. сам html текст с его тегами указывающими на кодировку не имеют значения)

lxa85 22-08-2016 13:41 2662088

ALARMus, попробуйте может посмотреть письма через notepad++ или Sublime Text
Это более богатые текстовые редакторы, нежели блокнот.
Обратите внимание не только на то, что написано в документе, но и в какой кодировке он сохранен.
Т.е. не внутренний "charset=" а а непосредственно документ. Ну вы поняли :)
Попробуйте (как вариант) скормить испорченное письмо Декодеру Артемия Лебедева.
И установить WinMerge сравнить содержимое документов.

Iska 22-08-2016 13:41 2662089

Хмм, ну, так хотя бы сравните эти письма — до открытия в Outlook и после.

Цитата:

Цитата lxa85
но и в какой кодировке он сохранен. »

Именно. Я потому и просил само письмо, а не код.

ALARMus 22-08-2016 14:16 2662104

Цитата:

Цитата Iska
Именно. Я потому и просил само письмо, а не код. »

Где я могу это посмотреть ? (свойства письма и в служебной инфе ?)

Iska 22-08-2016 14:36 2662110

В Outlook — открыть сообщение и сохранить в файл (детали не подскажу, поскольку пользую Offfice 2003). На телефоне/смартфоне — не подскажу, у меня их нет (но общий принцип пробовать тот же).

ALARMus 22-08-2016 14:59 2662115

Я сохранил сообщение через outlook
1) то которое на смартфоне не читается
2) после форварда самому себе этого же сообщения (которое стало теперь читаться и в смартфоне)

В служебной инфе (заголовок) отличия такие:

не читаемое первоначальное- Accept-Language: en-US
после форварда читаемое - Accept-Language: ru-Ru, en-US

Iska 22-08-2016 15:18 2662117

Цитата:

Цитата ALARMus
Я сохранил сообщение через outlook
1) то которое на смартфоне не читается »

Нет, которое не читается — надо сохранять непосредственно из-под телефона/смартфона. Вы же писали, что после открытия его посредством Outlook, оно начинает «читаться», так?

ALARMus 22-08-2016 15:22 2662120

Не совсем так, не после открытия в outlook, а после пересылки этого письма в outlook.
Если же я просто прочитал(открыл) письмо в outlook, оно так и остается не читаемым на смартфоне.

lxa85 22-08-2016 15:32 2662122

я запутался :(
ALARMus, Пропишите пожалуйста еще раз цепочку формирования и движения письма по этапам.
формируем (читаемо, программа) - отправляем (outlook, читаемо) - принимаем (смартфон, испорчено)

Что нибудь в таком роде.

ALARMus 22-08-2016 15:50 2662126

1) ПО по заданному в нем шаблону формирует текст темы и тела письма. Тело задано как html-код.
2) Программа посредник (CIT) берет этот заполненный шаблон и используя имеющийся профиль outlook на этом ПК (имя профиля и учетные данные для него) по MAPI отправляет
настройки в ней содержат только такие строки:
Код:

Embed EWS original email as an attachment - SelAttachment(не активно)
Embed IMAP original email as an attachment - SelAttachment(не активно)
Embed HTML original email as an attachment - SelAttachment(не активно)
Parse e-mail strictly following the MIME standard during fetching - Yes
Support a missing CRLF MIME boundary - No

3) Echange 2010
4) письмо лежит во входящих у получателя
5) смотрим у получателя через outlook - все красиво
6) смотрим у получателя на это же письмо через смартфон - текст не читаем
===
7) берем п.5) и в outlook делаем переслать (форвард) этого письма самому себе и это "форварднутое" письмо смотрим в смартфоне - все стало читаемым
8) если выполнить такой "форвард" из п.6) со смартфона (так же себе) - то открытое в outlook уже этот форвард будет не читаем.

lxa85 22-08-2016 17:05 2662151

ALARMus, хорошо, тогда во вкладках Notepad++ и WinMerge сравнивайте
Тело как html-код с содержимым получаемых писем.
И еще раз, обратите внимание на кодировку самого документа. Т.к. notepad++ может читать и utf-8 и Windows cp-1251 умеет переводить их из формата в формат.
Нечитаемый текст с декодере смотрели?

ALARMus 22-08-2016 17:16 2662154

Я боюсь тексты невозможно сравнить.
Глядя на них глазами от первоначального письма и следа не остается после форварда (если смотреть на сохраненный файл msg в редакторе)
notepad++ крайне неудобно - весь текст пестрит NULL белым текстом на черном фоне. (я FAR'ом смотрю на это - гораздо читабильнее)



Например в первичном письме я могу прочитать части html
В письме после форварда таких частей и близко нет.
Декодер сказал вот что (на п.8):
CP1252 ? CP1251

Iska 22-08-2016 17:35 2662160

ALARMus, боюсь, без отправки самих писем не обойтись. Там что, очень секретная информация будет в тестовом письме, если мне дать Вам свой почтовый адрес?

lxa85 22-08-2016 17:50 2662169

ALARMus, за 2010 не скажу, должно быть где-то близко-одинаково.
Outlook 2013.
Открываем письмо, ПКМ, говорим - Источник.
У меня в таком случае открывает исходный html текст.
Это первое.

Второе любопытнее.
Дело в том, что при отправке писем они не передаются в кодировке Base64.
(http://base64.ru/) и на данном этапе (кодировка/раскодировка) могут возникать проблемы из-за не корректно сформированного письма.
Причем в Base64 складываются все вложения (pdf, картинки и все остальное)
Формат писем сейчас стал более сложен и использование расширения MIME для электронки становится форматом де-факто. Я как то пробовал отправлять письмо "руками", цепляя заранее определенное вложение (pdf) и это был тот еще квест. (Решался чуть иначе и красивее, но мозоль осталась).

Что еще. Письмо.
Файл - Свойства. Посмотреть, что написано в заголовках интернета.
Где-то ближе к хвосту - может встретиться
PHP код:

Content-Transfer-Encodingbase64
Content
-Typetext/htmlcharset=utf-

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

Если при отправке письма ПКМ на адресате, то можно выбрать в каком формате Outlook будет пересылать письма.

lxa85 22-08-2016 18:08 2662179

Продолжаем копать в данную сторону.
Если мы говорим, что в процессе отправки документов ему стало плохо, то хотелось бы посмотреть его в исходнике.
Исходники оказываются понятием растяжимым, и Outlook настойчиво предлагает использовать свой формат msg вместо eml.
Что находится внутри msg я не помню, а найти пока не успел.
Тем не менее у нас стоит задача получить eml (как например это умеет делать Яндекс в web интерфейсе в свойствах письма).
Рассуждания по импорту в eml навели на how-to-save-a-mail-into-an-eml-file-with-outlook.
http://www.maildev.com/
http://mfcmapi.codeplex.com/
http://www.outlookfreeware.com/en/pr...agesExportEML/

Iska 22-08-2016 19:27 2662213

Цитата:

Цитата lxa85
как например это умеет делать Яндекс в web интерфейсе в свойствах письма »

Во… А я и не знал, что он умеет :(.

lxa85, самым лучшим будет получить на свой адрес «незапятнанное» письмо, сформированное теми приложениями. А так можно долго гадать. Лучше «пощупать».

lxa85 22-08-2016 20:51 2662254

Цитата:

Цитата Iska
lxa85, самым лучшим будет получить на свой адрес «незапятнанное» письмо, сформированное теми приложениями. А так можно долго гадать. Лучше «пощупать». »

Это несомненно.

ALARMus, а может другой почтовый клиент попробовать? Thunderbird к примеру, пока с кодировками и крякозяблами разбираемся.
Опять же к Thunderbird есть плагин экспорта в eml.

О! Кстати, есть такая штука clip2net - позволяет делать настраиваемые скриншоты, размывать ненужные области и делиться картинками через интернет. По функционалу - более продвинутые "ножницы".
Я к чему. Если в письме есть какая-то конфеденциальная информация - сделайте скриншот, размойте ее и прикрепите картинку.
Мы ее конечно восстановим, но вам не скажем ;)

Iska 22-08-2016 22:22 2662278

Цитата:

Цитата lxa85
Мы ее конечно восстановим, но вам не скажем ;) »

Пусть попробуют восстановить из «радикально чёрного цвета» :).

ALARMus 23-08-2016 09:34 2662374

Вложений: 1
Попробовал в outlook взял 2 письма (msg):
-Нормально открытое в outlook сразу
-Форварднутое самому себе

Открыл в "Источник" убрал в редакторе конфидициальное и сохранил - их и прикладываю (они правда перестали открывать outlook'ом, но в текстовом редакторе все просмотреть можно)

А так же сделал сохранение письма в самом смартфоне (нечитаемое) - он сохранил, кстати, в eml.
Перепробовал всеми декодерами - расшифровывают, но все дают в итоге не верную кодировку - т.е. нечитаемо русское.
Артемий этот декодированный текст из base64 конвертирует в читаемое и по прежнему говорит CP1252 ? CP1251

Iska 23-08-2016 10:03 2662381

Цитата:

Цитата ALARMus
А так же сделал сохранение письма в самом смартфоне (нечитаемое) - он сохранил, кстати, в eml. »

А его-то почему не приложили?!

И ещё раз настойчиво повторю: нужны оригинальные, пусть тестовые, письма.

ALARMus 23-08-2016 10:49 2662397

Заголовок изначально пришедшего(во входящие) файла

Скрытый текст
Received: from CS.mm.ru ([fe80::6981:c5c2:f28f:864c]) by
CS.mm.ru ([::1]) with mapi id 14.03.0266.001; Mon, 22 Aug
2016 10:58:02 +0300
Content-Type: application/ms-tnef; name="winmail.dat"
Content-Transfer-Encoding: binary
From: =?utf-8?B?0KHQu9GD0LbQsdCwINCi0LXRhdC90LjRh9C10YHQutC+0Lkg0L/QvtC00LQ=?=
=?utf-8?B?0LXRgNC20LrQuCAo0J7Qv9C+0LLQtdGJ0LXQvdC40Y8p?=
<servicedesk_noreply@mm.ru>
To: =?utf-8?B?0JrQvtC70LXRgdC+0LLQsCDQnNCw0YDQuNGPINCQ0LQsNGC0L7Qu9GM0LU=?=
=?utf-8?B?0LLQvdCw?= <MA@mm.ru>
Subject: =?utf-8?B?0JLQsNGI0LUg0L7QsdGA0LDRidC10L3QuNC1INC30LDRgNC10LPQuNGB0YI=?=
=?utf-8?B?0YDQuNGA0L7QstCw0L3QviDQv9C+0LQg0L3QvtC80LXRgNC+0LwgU0QwMDA0?=
=?utf-8?Q?18048?=
Thread-Topic: =?utf-8?B?0JLQsNGI0LUg0L7QsdGA0LDRidC10L3QuNC1INC30LDRgNC10LPQuNGB0YI=?=
=?utf-8?B?0YDQuNGA0L7QstCw0L3QviDQv9C+0LQg0L3QvtC80LXRgNC+0LwgU0QwMDA0?=
=?utf-8?Q?18048?=
Thread-Index: AdH8SuePXvv3G3RuT4WM5X9KMG50Tw==
Date: Mon, 22 Aug 2016 10:58:01 +0300
Message-ID: <8F2CD57008C34F4CBCABBD560FEE7DA001CD5C1131@CS.mm.ru>
Accept-Language: en-US
Content-Language: ru-RU
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator: <8F2CD57008C34F4CBCABBD560FEE7D1A01CD5C1131@CS.mmru>
MIME-Version: 1.0
X-MS-Exchange-Organization-AuthSource: CS.mm.ru
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 04
X-Originating-IP: [10.10.1.54]


А вот после форварда
Скрытый текст
Received: from CS.mm.ru ([fe80::6981:c5c2:f28f:864c]) by
COEUS.mosenergo.elektra.ru ([::1]) with mapi id 14.03.0266.001; Mon, 22 Aug
2016 16:50:35 +0300
Content-Type: application/ms-tnef; name="winmail.dat"
Content-Transfer-Encoding: binary
From: =?utf-8?B?0JrQvtC70LXRgdC+0LLQsCDQnNCw0YDQuNGPINCQ0LQsNGC0L7Qu9GM0LU=?=
=?utf-8?B?0LLQvdCw?= <MA@mm.ru>
To: =?utf-8?B?0JrQvtC70LXRgdC+0LLQsCDQnNCw0YDQuNGPINCQ0LQsNGC0L7Qu9GM0LU=?=
=?utf-8?B?0LLQvdCw?= <MA@mm.ru>
Subject: =?utf-8?B?Rlc6INCS0LDRiNC1INC+0LHRgNCw0YnQtdC90LjtSDQt9Cw0YDQtdCz0Lg=?=
=?utf-8?B?0YHRgtGA0LjRgNC+0LLQsNC90L4g0L/QvtC0INC90L7vNC10YDQvtC8IFNE?=
=?utf-8?Q?000418048?=
Thread-Topic: =?utf-8?B?0JLQsNGI0LUg0L7QsdGA0LDRidC10L3uNC1INC30LDRgNC10LPQuNGB0YI=?=
=?utf-8?B?0YDQuNGA0L7QstCw0L3QviDQv9C+0LQg0L3vtC80LXRgNC+0LwgU0QwMDA0?=
=?utf-8?Q?18048?=
Thread-Index: AdH8SuePXvv3G3RuT4WM5X9KMG50TwAMTL4A
Date: Mon, 22 Aug 2016 16:50:34 +0300
Message-ID: <4D23DDC7A0E6D441A5406B3E928C07220209A459C3@CS.mm.ru>
References: <8F2CD57008C34F4CBCABBD560FEE7D1001CD5A1131@CS.mm.ru>
In-Reply-To: <8F2CD57008C34F4CBCABBD560FEE7D1001CD5A1131@CS.mm.ru>
Accept-Language: ru-RU, en-US
Content-Language: ru-RU
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator: <4D23DDC7A0E6D441A5406B3E928CA72202097459C3@CS.mm.ru>
MIME-Version: 1.0
X-MS-Exchange-Organization-AuthSource: CS.mm.ru
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 04
X-Originating-IP: [10.10.15.12]


Вот этот текст:
Код:

Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

Содержится в eml (сохраненным в файл не читаемом письме с андроида)

ALARMus 24-08-2016 16:30 2662844

Копал копал и докопал.

Оказывается кодировка отображается некорректно на тех устройствах, которые подключаются через OWA (это смартфоны), проверил на ПК в браузере доступ по OWA - тоже кодировка неверная.

Косяк получается в сервере, на котором owa или в настройках на exchange для owa ?


Время: 22:22.

Время: 22:22.
© OSzone.net 2001-