Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];

Вниз

7-bit ASCII в заголовке pop письма   Найти похожие ветки 

 
pest ©   (2009-10-15 17:27) [0]

привет всем.
поучаю письмо через поп протокол. но кодировка шалит, не могу понять как ее исправить. в заголовке письма написано
Content-Type: text/plain;
charset="koi8-r"
Content-Transfer-Encoding: 7bit

вот пример закодированной темы From: =?koi8-r?B?9+vPztTBy9TFLtLV?= <admin@vkontakte.ru> которая распознается нормально, а само тело письма отображается так:
...wY MOVETE POMENQTX NASTROJKI e-mail OPOWE]ENIJ NA STRANICE:...

что и как можно исправить? заранее спасибо за помощь


 
clickmaker ©   (2009-10-15 17:34) [1]

> что и как можно исправить?

а что там неправильно? может, админы контакта так и пишут всегда


 
pest ©   (2009-10-15 17:39) [2]


> clickmaker

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


 
Dennis I. Komarov ©   (2009-10-15 17:39) [3]


> вот пример закодированной темы From: =?koi8-r?B?9+vPztTBy9TFLtLV?
> =

kio8-r + base64


 
pest ©   (2009-10-15 17:44) [4]


> kio8-r + base64

я понимаю что это kio8-r + base64, но это сабж письма. а у меня проблемы с телом, я же написал об этом в первом посте


 
Dennis I. Komarov ©   (2009-10-15 17:48) [5]


> а у меня проблемы с телом

Я их не вижу... А сабж про 7 bit, ASCII и заголовок pop письма %)


 
clickmaker ©   (2009-10-15 17:54) [6]

> [2] pest ©   (15.10.09 17:39)

вот про это подробней - "поучаю письмо через поп протокол"
и кто собственно должен сделать из тела читабельный текст?


 
pest ©   (2009-10-15 17:55) [7]


> Dennis I. Komarov

...wY MOVETE POMENQTX NASTROJKI e-mail OPOWE]ENIJ NA STRANICE:... это не проблема?  

все, что находится в заголовке письма, декодитуется нормально (это касается полей From, Subject и тд.)

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


 
pest ©   (2009-10-15 17:58) [8]


> clickmaker ©   (15.10.09 17:54) [6]
> > [2] pest ©   (15.10.09 17:39)вот про это подробней - "поучаю
> письмо через поп протокол"и кто собственно должен сделать
> из тела читабельный текст?


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


 
Dennis I. Komarov ©   (2009-10-15 17:58) [9]

1 - про компонент ни слова не было
2 - тело то покажешь, а-ли как?


 
clickmaker ©   (2009-10-15 18:02) [10]

> он получает письма и сам все декодирует

исходники есть?
есть возможность посмотреть сырое тело, до попытки декодирования?


 
Dennis I. Komarov ©   (2009-10-15 18:02) [11]


> я использую поп компонент из пакета Clever Component Suite.

Шибко умный он. Он решил что так будет лучше...


 
palva ©   (2009-10-15 19:06) [12]

Если в заголовке прямо и откровенно указано
Content-Transfer-Encoding: 7bit
то при передаче письма любой промежуточный сервер имеет право не передавать восьмой бит, так что возможно письмо уже пришло в таком виде.
А возможно, восьмой бит обнуляет ваша программа, формально ее тоже за это винить нельзя.

Если можете, до добейтесь формирования правильных заголовков в месте отправки.


 
Anatoly Podgoretsky ©   (2009-10-15 19:21) [13]

> pest  (15.10.2009 17:58:08)  [8]

Не важно, что ты используешь, покажи часть текста до перекодирования.


 
pest ©   (2009-10-19 10:31) [14]


> Dennis I. Komarov ©   (15.10.09 17:58) [9]
> 1 - про компонент ни слова не было2 - тело то покажешь,
> а-ли как?


это находится в HeaderSource
Message-ID: <06c4ea691ea69929b3c52c3bb668f34b@localhost.localdomain>
From: =?koi8-r?B?9+vPztTBy9TFLtLV?= <admin@vkontakte.ru>
Reply-To: "Pavel Durov, inContact.ru Admin" <admin@vkontakte.ru>
To: =?koi8-r?B?7cnIwcnMIG0g+sHM1c7Jzg==?= <pest_tt@mail.ru>
Subject: =?koi8-r?B?98nUwczJyiBBbGl2ZSDy1cTFzsvPIM7B0MnTwcwg3tTPLdTPIM7BIPfB28XKINPUxc7FLi4u?=
Date: Sat, 19 Jul 2008 23:23:39 +0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="koi8-r"
Content-Transfer-Encoding: 7bit
X-Priority: 3
Return-path: <admin@vkontakte.ru>
Received: from [195.190.105.26] (port=60732 helo=vkontakte.ru)by mx67.mail.ru with esmtpid 1KKI1r-000ESj-00for pest_tt@mail.ru; Sat, 19 Jul 2008 23:23:39 +0400
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)by vkontakte.ru with esmtp (Exim 4.63)(envelope-from <admin@vkontakte.ru>)id 1KKI1r-0003kE-OQfor pest_tt@mail.ru; Sat, 19 Jul 2008 23:23:39 +0400
X-Mailer: PHPMailer [version 1.73]
X-Antivirus: avast! (VPS 091018-0, 18.10.2009), Inbound message
X-Antivirus-Status: Clean


это находится в RawHeader
Return-path: <admin@vkontakte.ru>
Received: from [195.190.105.26] (port=60732 helo=vkontakte.ru)
by mx67.mail.ru with esmtp
id 1KKI1r-000ESj-00
for pest_tt@mail.ru; Sat, 19 Jul 2008 23:23:39 +0400
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
by vkontakte.ru with esmtp (Exim 4.63)
(envelope-from <admin@vkontakte.ru>)
id 1KKI1r-0003kE-OQ
for pest_tt@mail.ru; Sat, 19 Jul 2008 23:23:39 +0400
Date: Sat, 19 Jul 2008 23:23:39 +0400
To: =?koi8-r?B?7cnIwcnMIG0g+sHM1c7Jzg==?= <pest_tt@mail.ru>
From: =?koi8-r?B?9+vPztTBy9TFLtLV?= <admin@vkontakte.ru>
Reply-to: "Pavel Durov, inContact.ru Admin" <admin@vkontakte.ru>
Subject: =?koi8-r?B?98nUwczJyiBBbGl2ZSDy1cTFzsvPIM7B0MnTwcwg3tTPLdTPIM7BIPfB28XK?=
=?koi8-r?B?INPUxc7FLi4u?=
Message-ID: <06c4ea691ea69929b3c52c3bb668f34b@localhost.localdomain>
X-Priority: 3
X-Mailer: PHPMailer [version 1.73]
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="koi8-r"
X-Antivirus: avast! (VPS 091018-0, 18.10.2009), Inbound message
X-Antivirus-Status: Clean


мне интересно почему то в обоих случаях разные поляContent-Transfer-Encoding: 7bit и Content-Transfer-Encoding: 8bit

само тело письма состоит из символов, которые я уже показывал выше.

момент до перекодирования я отловить не могу.
исходников нет. всего пара строк:
Pop.Retrieve(MsgNo, MailMessage);
memo1.Lines := MailMessage.MessageText;


 
pest ©   (2009-10-19 10:34) [15]


> palva ©   (15.10.09 19:06) [12]

а есть ли возможность восстановить этот самый восьмой бит самостоятельно?


 
Anatoly Podgoretsky ©   (2009-10-19 11:22) [16]


> момент до перекодирования я отловить не могу.

А без этого говорить не о чем.

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


 
Dennis I. Komarov ©   (2009-10-19 11:23) [17]


> мне интересно почему то в обоих случаях разные поляContent-
> Transfer-Encoding: 7bit и Content-Transfer-Encoding: 8bit


> а есть ли возможность восстановить этот самый восьмой бит
> самостоятельно?


А ты понимаешь суть Base64? Что значит восстановить?


> само тело письма состоит из символов, которые я уже показывал
> выше.


Это уже результат, а не исходное тело письма...


> исходников нет. всего пара строк:
> Pop.Retrieve(MsgNo, MailMessage);
> memo1.Lines := MailMessage.MessageText;


Вообще-то, говорили об исходниках компонента... И вообще, по каким причинам он был выбран?


 
Anatoly Podgoretsky ©   (2009-10-19 11:24) [18]


> а есть ли возможность восстановить этот самый восьмой бит
> самостоятельно?

А хрен его знает можно или нет в этом Clever Component Suite. Но я бы не советовал это делать, испортишь другую часть тела.


 
pest ©   (2009-10-19 13:27) [19]


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


...
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="koi8-r"
...
чЩ НПЦЕФЕ РПНЕОСФШ ОБУФТПКЛЙ e-mail ПРПЧЕЭЕОЙК ОБ УФТБОЙГЕ:
http://vkonta...



> Вообще-то, говорили об исходниках компонента... И вообще,
>  по каким причинам он был выбран?

исходников компонента пока нет потому что демо версия. компонент был выбран, потому что он больше всех своих конкурентов определял разные кодировки. но я работал с ним версии для D7.
indy с кодировками вообще проблема большая, особенно если речь идет о десятках разных почтовых серверов. ISC нормальная библиотека, только она не обновляется и работать с прокси и защищенными режимами не получается


 
pest ©   (2009-10-19 13:28) [20]

*сейчас работаю под delhi2009


 
Dennis I. Komarov ©   (2009-10-19 14:08) [21]


> ...
> Content-Transfer-Encoding: 8bit
> Content-Type: text/plain; charset="koi8-r"
> ...
> чЩ НПЦЕФЕ РПНЕОСФШ ОБУФТПКЛЙ e-mail ПРПЧЕЭЕОЙК ОБ УФТБОЙГЕ:
>
> http://vkonta...

Ну, вполне все красиво...

> исходников компонента пока нет потому что демо версия. компонент
> был выбран, потому что он больше всех своих конкурентов
> определял разные кодировки. но я работал с ним версии для
> D7.

И чего же теперь? Сам виноват...


 
pest ©   (2009-10-19 14:13) [22]


> И чего же теперь? Сам виноват...

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


 
Dennis I. Komarov ©   (2009-10-19 14:16) [23]

TCPClient - замечательный компонент :)


 
Anatoly Podgoretsky ©   (2009-10-19 14:26) [24]


> Content-Transfer-Encoding: 8bit
> Content-Type: text/plain; charset="koi8-r"
> ...
> чЩ НПЦЕФЕ РПНЕОСФШ ОБУФТПКЛЙ e-mail ПРПЧЕЭЕОЙК ОБ УФТБОЙГЕ:
>
> http://vkonta...

Это если пытаться просматривать текст в кодировке Windows-1251, а надо в koi-8r

> Content-Transfer-Encoding: 8bit
> Content-Type: text/plain; charset="koi8-r"
> ...
> Вы можете поменять настройки e-mail оповещений на странице:
>
> http://vkonta...


> был выбран, потому что он больше всех своих конкурентов
> определял разные кодировки. но я работал с ним версии для
А это и не надо, кодировка верно указана в сообщение, кроме того не совсем желательно это делать автоматически и ОСОБО не желательно показывать или обрабатывать текст в неверной кодировке. Если не брать особые случаи из жизни Win9X, то Windows показывает в локализированой кодировке. Текст надо перекодировать.


 
Anatoly Podgoretsky ©   (2009-10-19 14:27) [25]

> pest  (19.10.2009 14:13:22)  [22]

Проблема с прокси в ISC давно решена, с очень ранних версий, поддержан даже socks


 
Anatoly Podgoretsky ©   (2009-10-19 14:28) [26]


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

Дело не в адекватном компоненте, по этой части у них нет разницы, а в некомпетентности.


 
Anatoly Podgoretsky ©   (2009-10-19 14:30) [27]


> Anatoly Podgoretsky ©   (19.10.09 14:27) [25]
> > pest  (19.10.2009 14:13:22)  [22]
>
> Проблема с прокси в ISC давно решена, с очень ранних версий,
>  поддержан даже socks

Кстати если это не socks то о каком конкретно прокси идет речь?


 
Anatoly Podgoretsky ©   (2009-10-19 14:36) [28]

Ах да они еще упустили функцию увеличения даты на 1.5 дня.


 
Anatoly Podgoretsky ©   (2009-10-19 14:36) [29]

Иди полтора дня это не для ламеров?


 
pest ©   (2009-10-19 15:10) [30]


Anatoly Podgoretsky ©   (19.10.09 14:27) [25]

> pest  (19.10.2009 14:13:22)  [22]

Проблема с прокси в ISC давно решена, с очень ранних версий, поддержан даже socks


как в ISC подключиться к серверу через сокетный прокси? можно ли при этом указывать Socks4 или Socks5?


 
pest ©   (2009-10-19 15:13) [31]


> Кстати если это не socks то о каком конкретно прокси идет
> речь?

сокетный прокси. весь интернет трафик сети идет через один комп, на котором файервол. есть и http и сокеты


 
pest ©   (2009-10-20 09:52) [32]

не могу найти демо для ISC-V7


 
Anatoly Podgoretsky ©   (2009-10-20 09:59) [33]

> pest  (20.10.2009 09:52:32)  [32]

Оно в поставке, аж целых две папки и дополнительные демо на сайте.


 
pest ©   (2009-10-20 14:00) [34]

демо нашел, но там не реализована работа через прокси. я попробовал так:


   SslPop3Client.Host           := HostEdit.Text;
   SslPop3Client.Port           := PortEdit.Text;
   SslPop3Client.CtrlSocket.SocksServer := "221.223.252.41";
   SslPop3Client.CtrlSocket.SocksPort := "1080";


коннектится и получает письма, но через прокси или нет неуверен)
так оно вообще делается?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.006 c
3-1230212249
Lera
2008-12-25 16:37
2009.12.06
Запрос и множество


15-1255000858
defen
2009-10-08 15:20
2009.12.06
Подключение и работа с SQL базой


2-1255967142
Nucer
2009-10-19 19:45
2009.12.06
Создание класса на основе TIdHTTP


2-1255770639
xyz
2009-10-17 13:10
2009.12.06
компоненты и панель


2-1255952808
Fedor
2009-10-19 15:46
2009.12.06
Нажать кнопку ОК в javascript окне WebBrowser а





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский