TIdMessage* Message = new TIdMessage(this);
MessageCount = POP3->CheckMessages();
for (int i = 1; i <= MessageCount; i++)
{
Message->Clear();
POP3->Retrieve(i, Message);
Subject = Message->Subject;
From = Message->From->Address;
Header = Message->Headers;
Body = Message->Body; // пусто
}
Почта и TIdPOP3
Пытаюсь получить сообщение с сервера с помощью компоненты TIdPOP3, все читается кроме тела сообщения, вот такой код:
Код:
Цитата:
Originally posted by enola
Добрый день!
Пытаюсь получить сообщение с сервера с помощью компоненты TIdPOP3, все читается кроме тела сообщения, вот такой код:
Добрый день!
Пытаюсь получить сообщение с сервера с помощью компоненты TIdPOP3, все читается кроме тела сообщения, вот такой код:
Код:
TIdMessage* Message = new TIdMessage(this);
MessageCount = POP3->CheckMessages();
for (int i = 1; i <= MessageCount; i++)
{
Message->Clear();
POP3->Retrieve(i, Message);
Subject = Message->Subject;
From = Message->From->Address;
Header = Message->Headers;
Body = Message->Body; // пусто
}
MessageCount = POP3->CheckMessages();
for (int i = 1; i <= MessageCount; i++)
{
Message->Clear();
POP3->Retrieve(i, Message);
Subject = Message->Subject;
From = Message->From->Address;
Header = Message->Headers;
Body = Message->Body; // пусто
}
разобрался вот так надо:
Код:
TIdMessage* Message = new TIdMessage(this);
TIdText *MessageBody;
int MessageCount;
AnsiString Subject, From, Body;
for (int i = 1; i <= MessageCount; i++)
{
Message->Clear();
POP3->Retrieve(i, Message);
Subject = Message->Subject;
From = Message->From->Address;
for (int j = 0; j <= Message->MessageParts->Count - 1; j++)
{
MessageBody =
dynamic_cast<TIdText *>(Message->MessageParts->Items[j]);
if(MessageBody)
Body += MessageBody->Body->Text;
}
}
TIdText *MessageBody;
int MessageCount;
AnsiString Subject, From, Body;
for (int i = 1; i <= MessageCount; i++)
{
Message->Clear();
POP3->Retrieve(i, Message);
Subject = Message->Subject;
From = Message->From->Address;
for (int j = 0; j <= Message->MessageParts->Count - 1; j++)
{
MessageBody =
dynamic_cast<TIdText *>(Message->MessageParts->Items[j]);
if(MessageBody)
Body += MessageBody->Body->Text;
}
}