Форум: "Начинающим";
Текущий архив: 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 - тело то покажешь,
> а-ли как?
это находится в HeaderSourceMessage-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
это находится в RawHeaderReturn-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.005 c