Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.03.2010, 14:37
Gurt87 Gurt87 вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 16
Репутация: 10
По умолчанию почтa с Mail.ru

Здравствуйте!
Есть ящик test_email_box@mail.ru
В нем 3 письма.
1-е пришло от Администрации при создании ящика
2-е отправил сам себе
3-е пришло с @gmail.com

Пытаюсь вытащить содержание этих писем с помощью TIdPOP3 и TidMessage (Indy)

Вот код:
Код:
Письмо от администрации
procedure TForm1.Button1Click(Sender: TObject);
begin
IdPOP31.Port:=110;
IdPOP31.Host:='pop3.mail.ru';
IdPOP31.Username:= 'test_email_box@mail.ru';
IdPOP31.Password:= 'qwerty';
IdPOP31.Connect;
IdMessage1.Clear;
IdPOP31.Retrieve(1,IdMessage1);
Memo1.Lines.Add(IdMessage1.CharSet);    //''
Memo1.Lines.Add(IdMessage1.From.Text);  // "áÄÍÉÎÉÓÔÒÁÃÉÑ Mail.Ru" <support@corp.mail.ru>
Memo1.Lines.Add(IdMessage1.Subject);    // 'äÏÂÒÏ ÐÏÖÁÌÏ×ÁÔØ ÎÁ Mail.Ru!'
Memo1.Lines.Add(IdMessage1.Body.Text);  //  #$D#$A#$D#$A#$D#$A
IdPOP31.Disconnect;
end;

Письмо сам себе
procedure TForm1.Button2Click(Sender: TObject);
begin
IdPOP31.Port:=110;
IdPOP31.Host:='pop3.mail.ru';
IdPOP31.Username:= 'test_email_box@mail.ru';
IdPOP31.Password:= 'qwerty';
IdPOP31.Connect;
IdMessage1.Clear;
IdPOP31.Retrieve(2,IdMessage1);
Memo1.Lines.Add(IdMessage1.CharSet);     // 'KOI8-R'
Memo1.Lines.Add((IdMessage1.From.Text)); // 'Test Test <test_email_box@mail.ru>'
Memo1.Lines.Add(IdMessage1.Subject);     // '=?koi8-r?Q?=F4=C5=CD=C1_=D0=C9=D3=D8=CD=C1?='
Memo1.Lines.Add(IdMessage1.Body.Text);   //'ôÅËÓÔ ÐÉÓØÍÁ'#$D#$A#$D#$A#$D#$A
IdPOP31.Disconnect;
end;

Письмо с gmail
procedure TForm1.Button3Click(Sender: TObject);
begin
IdPOP31.Port:=110;
IdPOP31.Host:='pop3.mail.ru';
IdPOP31.Username:= 'test_email_box@mail.ru';
IdPOP31.Password:= 'qwerty';
IdPOP31.Connect;
IdMessage1.Clear;
IdPOP31.Retrieve(3,IdMessage1);
Memo1.Lines.Add(IdMessage1.CharSet);    //''
Memo1.Lines.Add(IdMessage1.From.Text);  //'=?KOI8-R?B?5dfHxc7JyiDn1dLUz9fPyg==?= <egoist.gt@gmail.com>'
Memo1.Lines.Add(IdMessage1.Subject);     //'=?KOI8-R?B?9MXNwSDQydPYzcE=?='
Memo1.Lines.Add(IdMessage1.Body.Text);  // #$D#$A
IdPOP31.Disconnect;
end;

Кодировки - другой разговор. Вопрос в другом.

Получается что самое "удачное" письмо - 2-е, потому что IdMessage1 получил все потребные свойства (CharSet,From,Subject,Body)

Почему же в 1-м и 3-м письме отсутствуют CharSet и Body,????
Как тогда их вытаскивать с IdMessage1? Может какоето другое свойство (IdMessage1.*****)?
Или это просто глюк IdMessage1 ???
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter