Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2009, 19:14   #1
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию Мимовольная транслитерация текста IdPOP3 в Indy 10

Написал 2 одинаковых программы в Delphi 7 и Delphi 2009:
Цитата:
IdPOP31.Host:='pop.mail.ru';
IdPOP31.Username:='xxxxx';
IdPOP31.Password:='xxxxx';
IdPOP31.Connect;
IdPOP31.Retrieve(1,idmessage1);
IdPOP31.Disconnect;
memo1.Text:=idmessage1.Body.Text;
В 7 делфи вместо русских букв - абракадабра в koi8-u. Перекодировать - сами понимаете, не проблема.
А вот в 2009 делфи все русские буквы... транслитерировались в английские (при чем какой-то своей таблицей)! Причем так происходит не всегда. В частности, пришло письмо от .UA Registration System [no-reply@auto.uanic.ua]
Цитата:
...
--------[ tEHN&^NA PEREW&RKA ]--------

** Error: sERWER NE W&DPOW&DA$ ABO DOMEN NE ZNAJDENO NA WKAZANOMU SERWER&
...
хотя в других почтовых клиентах - нормальный украинский текст:
Цитата:
--------[ Технічна перевірка ]--------

** Error: Сервер не відповідає або домен не знайдено на вказаному сервері:
Письма которые я отправляю сам себе в plain/text доходят нормальной koi абракадаброй)
Роман Радер вне форума Ответить с цитированием
Старый 17.05.2009, 22:42   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

А кодировка в заголовках письма какая указана ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.05.2009, 01:21   #3
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию

кодировка koi8-u.
перепроверил на другом сервере - тоже самое => перекодировка происходит уже после получения. После трассировки indy-кода вижу что проблема в кодировке (7bit) хотя в письме 8bit. может быть проблема тут.
Цитата:
From no-reply@auto.uanic.ua Sun May 17 19:05:34 2009
Return-path: <no-reply@auto.uanic.ua>
Received: from [81.23.23.225] (port=55943 helo=golf.hostmaster.net.ua)
by mx46.mail.ru with esmtp
id 1M5hvi-000Lzr-00
for zmailrom@mail.ru; Sun, 17 May 2009 19:05:34 +0400
Received-SPF: none (mx46.mail.ru: 81.23.23.225 is neither permitted nor denied by domain of auto.uanic.ua) client-ip=81.23.23.225; envelope-from=no-reply@auto.uanic.ua; helo=golf.hostmaster.net.ua;
X-Mru-PTR: golf.hostmaster.net.ua
X-Mru-NR: 1
X-Mru-OF: unknown (ethernet/modem)
X-Mru-RC: UA
Received: from mailnull by golf.hostmaster.net.ua with local (Exim 4.68 (FreeBSD))
(envelope-from <no-reply@auto.uanic.ua>)
id 1M5hvh-000ECK-KS; Sun, 17 May 2009 18:05:33 +0300
From: ".UA Registration System" <no-reply@auto.uanic.ua>
Errors-To: no-reply@auto.uanic.ua
To: zmailrom@mail.ru
Reply-To: no-reply@auto.uanic.ua
MIME-Version: 1.0
Content-Type: text/plain; charset=koi8-u
Content-Transfer-Encoding: 8bit

Subject: FAILED: [ADD romanrader.org.ua]
References: <E1M5hv3-000AR5-00.zmailrom-mail-ru@mx40.mail.ru>
In-Reply-To: <E1M5hv3-000AR5-00.zmailrom-mail-ru@mx40.mail.ru>
Message-Id: <E1M5hvh-000ECK-KS@golf.hostmaster.net.ua>
Date: Sun, 17 May 2009 18:05:33 +0300
X-Spam: Not detected
X-Mras: Ok
Роман Радер вне форума Ответить с цитированием
Старый 18.05.2009, 09:22   #4
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию

Впринципе решил проблему таким способом:
Код:
        if not POP3.RetrieveHeader(n,IdMessage) then continue;
        if IdMessage.Headers.Values['Content-Transfer-Encoding']='8bit' then
        begin
          POP3.SendCmd('RETR ' + IntToStr(n), '');
          POP3.IOHandler.Capture(IdMessage.Body, '.', True, en8bit);
        end else
          POP3.Retrieve(n,IdMessage);

Последний раз редактировалось Роман Радер; 18.05.2009 в 18:03.
Роман Радер вне форума Ответить с цитированием
Старый 18.05.2009, 09:23   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Поставь 8bit
по аналогии
http://programmersforum.ru/showpost....18&postcount=2
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как обновить indy 9 на indy 10 Пилигрим Компоненты Delphi 16 30.04.2010 10:11
Indy 10 eldar Работа с сетью в Delphi 2 26.04.2009 13:41
Indy 9 против Indy 10 OrdJONY Свободное общение 2 08.11.2008 20:28
Помогите-кодировки в IdPOP3 linker13 Работа с сетью в Delphi 1 08.12.2007 18:11
Транслитерация WIC Microsoft Office Excel 3 04.10.2007 20:18