Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.12.06;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.008 c
3-1230550570
Oleg_teacher
2008-12-29 14:36
2009.12.06
Експорт в ртф формат.


11-1208592364
<>
2008-04-19 12:06
2009.12.06
Много ли ресурсов потребляет невидимая форма?


3-1230212249
Lera
2008-12-25 16:37
2009.12.06
Запрос и множество


2-1255613270
pest
2009-10-15 17:27
2009.12.06
7-bit ASCII в заголовке pop письма


15-1254495687
Cyrax
2009-10-02 19:01
2009.12.06
Кто-нибудь знает, что такае "партномер" ?