Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/34: Рейтинг темы: голосов - 34, средняя оценка - 4.97
12 / 12 / 9
Регистрация: 12.04.2012
Сообщений: 259

imap поиск писем

26.02.2013, 14:28. Показов 6648. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача найти письма в почтовом ящике с определенным словом потом скачать их текст сохранить в файл
Делаю через imap поиск взял отсюда у Avazart TIdIMAP4 и кодировки
Код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Memo1->Clear();
IdIMAP41->Port= 143;
IdIMAP41->AuthType= iatUserPass;
IdIMAP41->Host= "imap.yandex.ru";
IdIMAP41->Username= "---------";
IdIMAP41->Password= "--------";
IdIMAP41->Connect(1000);
IdIMAP41->SelectMailBox("INBOX");
TIdIMAP4SearchRec SR[1];
SR[0].SearchKey= skText;
SR[0].Text="@worldoftanks.ru";
if( IdIMAP41->SearchMailBox(SR,1) )
// Memo1->Lines->Add(IdIMAP41->MailBox->SearchResult);
    for (int i=0; i<IdIMAP41->MailBox->SearchResult.Length; i++)
        {
            IdMessage1->Clear();
            IdIMAP41->Retrieve(IdIMAP41->MailBox->SearchResult[i],IdMessage1);
            Memo1->Lines->Add("\t------\t"+String(i)+"\t--------");
 
            Memo1->Lines->Add(IdMessage1->Subject);
            Memo1->Lines->Add(IdMessage1->Body->Text);
        }
IdIMAP41->Disconnect();
Первая проблема это "This is a message in multipart MIME format" - Вместо текста письма
2 Проблема кодировка "?�N??�??N?N??�N??????� N??�?????? N??�?� ?? ????N??�!"
Помогите кто нибудь=)
Вот что я получаю:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    ------  0   --------
?�N??�??N?N??�N??????� N??�?????? N??�?� ?? ????N??�!
This is a message in multipart MIME format.  Your mail client should not
be displaying this. Consider upgrading your mail client to view this
message correctly.
 
    ------  1   --------
World of Tanks: ????N?N?N??�????????N?N? ???�N????�N? ?? ????N??�
 
    ------  2   --------
World of Tanks: ????N?N?N??�????????N?N? ???�N????�N? ?? ????N??�
 
    ------  3   --------
World of Tanks: ????N?N?N??�????????N?N? ???�N????�N? ?? ????N??�
 
    ------  4   --------
??N?N??�?? ???�???????�?�?????� 8.1
This is a message in multipart MIME format.  Your mail client should not
be displaying this. Consider upgrading your mail client to view this
message correctly.
 
    ------  5   --------
World of Tanks: ????N?N?N??�????????N?N? ???�N????�N? ?? ????N??�
 
    ------  6   --------
World of Tanks: ????N?N?N??�???????�?�?????� ???�N????�N?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.02.2013, 14:28
Ответы с готовыми решениями:

Imap4 поиск писем
Здравствуйте, хочу сделать поиск по почте. Авторизуюся в почте так: IdIMAP41-&gt;Port = 993; IdIMAP41-&gt;Host =...

imap и прокси
Можно ли к компоненту IdIMAP4 подключить прокси и сделать запрос письма через прокси? Добавлено через 11 часов 6 минут Апппп

Открытие сообщения через IMAP
Здравствуйте, использую компонент TidIMAP4 (Indy 10). Становится ли письмо автоматом прочитанным при его загрузке, если нет, то как...

14
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.02.2013, 17:43
https://www.cyberforum.ru/blog... og513.html И обрати внимание что версия Builder XE3

Добавлено через 2 минуты
Цитата Сообщение от leva Посмотреть сообщение
Первая проблема это "This is a message in multipart MIME format" - Вместо текста письма
Ну так там письмо multipart MIME-формата - то есть состоящее из частей при чем может содержать текст,рисунки,HTML и др.

Добавлено через 5 минут
Цитата Сообщение от leva Посмотреть сообщение
2 Проблема кодировка "?�N??�??N?N??�N??????� N??�?????? N??�?� ?? ????N??�!"
Даже в новой XE3 хоть поправили обработку кодировки тела сообщения, но по прежнему приходится обрабатывать кодировку темы.
0
12 / 12 / 9
Регистрация: 12.04.2012
Сообщений: 259
26.02.2013, 20:12  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
https://www.cyberforum.ru/blog... og513.html И обрати внимание что версия Builder XE3

Добавлено через 2 минуты

Ну так там письмо multipart MIME-формата - то есть состоящее из частей при чем может содержать текст,рисунки,HTML и др.

Добавлено через 5 минут

Даже в новой XE3 хоть поправили обработку кодировки тела сообщения, но по прежнему приходится обрабатывать кодировку темы.
и как письмо multipart MIME-формата прочитать?
если у меня 2009 билдер то не как не решить проблему???
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.02.2013, 20:28
Цитата Сообщение от leva Посмотреть сообщение
и как письмо multipart MIME-формата прочитать?
А как вы собираетесь отображать к примеру html или изображение в письме ?
Цитата Сообщение от leva Посмотреть сообщение
если у меня 2009 билдер то не как не решить проблему???
Вручную перекодировать как я в старой версии проекте MyMailAgent делал...
0
12 / 12 / 9
Регистрация: 12.04.2012
Сообщений: 259
26.02.2013, 21:06  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
А как вы собираетесь отображать к примеру html или изображение в письме ?

Вручную перекодировать как я в старой версии проекте MyMailAgent делал...
Мне нужен только текст письма и все ни каких изображений и т.д.
Вручную перекодировать как я в старой версии проекте MyMailAgent в какой именно ?

Добавлено через 32 минуты
my::Utf8ToUnicode не помогает WinToUnicode тоже Koi8ToUnicode- не могу понять как использовать с IdMessage))
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.02.2013, 21:07
Mime получают как помню с помощью TIdAttachment по частям... собственно примеры где-то были выложены на форуме...
Цитата Сообщение от leva Посмотреть сообщение
Вручную перекодировать как я в старой версии проекте MyMailAgent в какой именно ?
Все "старые" написаны на 2009
0
12 / 12 / 9
Регистрация: 12.04.2012
Сообщений: 259
26.02.2013, 21:12  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Mime получают как помню с помощью TIdAttachment по частям... собственно примеры где-то были выложены на форуме...

Все "старые" написаны на 2009
не знаю может кривой я не могу перекодировать нормально...
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.02.2013, 21:36
А вспомнил получение MIME + Перекодировку мне не удалось совместить в Builder2009, там бока.
0
12 / 12 / 9
Регистрация: 12.04.2012
Сообщений: 259
26.02.2013, 22:20  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
А вспомнил получение MIME + Перекодировку мне не удалось совместить в Builder2009, там бока.
И что теперь делать первый раз такое вижу....
0
12 / 12 / 9
Регистрация: 12.04.2012
Сообщений: 259
01.03.2013, 15:12  [ТС]
Поставил XE3 с кодировкой проблем вроде нет...
Как прочитать такие сообщения только текст:This is a message in multipart MIME format. Your mail client should not
be displaying this. Consider upgrading your mail client to view this
message correctly.

Добавлено через 16 минут
Вот нашел делфи код помогите перевести на с++
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
if IdMessage1.Body.Text='This is a multi-part message in MIME format' then
      begin
      for ii := 0 to IdMessage1.MessageParts.Count-1 do
        begin
          MessPart:=IdMessage1.MessageParts[ii];
          if MessPart.PartType=mptText then
          begin
            mmo1.Lines.Add(TIdText(MessPart).Body.Text);
          end;
        end;
      end
      else
      mmo1.Lines.Add(IdMessage1.Body.Text);
Добавлено через 13 минут
Вроде как то так
C++
1
2
3
4
5
if (IdMessage1->MessageParts->Items[i]->ClassNameIs("TIdText")) {
                Memo1->Lines->Clear();
                Memo1->Lines->AddStrings(
                ((TIdText*)IdMessage1->MessageParts->Items[i])->Body);
        }
Но ругается:
[bcc32 Error] Unit1.cpp(50): E2451 Undefined symbol 'TIdText'
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.03.2013, 16:52
TIdText, вохможно, в вашем племени индейцев такой шаман отсутствует:
..unit in Indy 10, whereas it was not in Indy 9.
0
12 / 12 / 9
Регистрация: 12.04.2012
Сообщений: 259
01.03.2013, 18:31  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
TIdText, вохможно, в вашем племени индейцев такой шаман отсутствует:
У меня 10 инди + ссылка не работает...
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33185 / 21483 / 8231
Регистрация: 22.10.2011
Сообщений: 36,855
Записей в блоге: 12
01.03.2013, 18:44
leva,
C++
1
#include <IdText.hpp>
присутствует?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.03.2013, 18:44
Цитата Сообщение от leva Посмотреть сообщение
[bcc32 Error] Unit1.cpp(50): E2451 Undefined symbol 'TIdText'
Хедер надо подключить наверное надо соответствующий...
0
12 / 12 / 9
Регистрация: 12.04.2012
Сообщений: 259
01.03.2013, 18:55  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
leva,
C++
1
#include <IdText.hpp>
присутствует?
Огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.03.2013, 18:55
Помогаю со студенческими работами здесь

INDY IMAP Нужна подсказка
Пытаюсь проверить почту через IMAP, посредством INDY10. На gmail.com захожу без проблем, все работает. Но когда пытаюсь зайти на mail.ru....

Поиск писем на почте (IMAP)
Есть код авторизации и поиска писем через IMAP (библиотека mail.dll) using (Imap imap = new Imap()) { ...

IMAP Поиск писем по запросу и вывод тела письма
Добрый день , как сделать поиск писем по запросу и вывести тело письма? ImapClient.UserName := Login; ImapClient.Password :=...

Загрука писем в IMAP
Здравствуйте. Есть такая задачка: Подключиться к серверу исп. Imap, найти неопределенные письма и загрузить их. Все сделал кроме последнего...

Вывод писем (работа с IMAP)
Всем привет. Хочу научится работать с Imap. с помощью dll mail.dll (limilabs.com) Прохожу успешно логин. и пытаюсь вывести письма. после...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru