![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Indy
Shadow_exe © (2006-10-29 15:35:00)Здравствуйте.
Заню, уже много писалось по этому поводу, но всеже у меня ничего не выходит(((
Вот мой код:
procedure TForm1.Button1Click(Sender: TObject);
var
mc, i, s, j: integer;
m: TIdMessage;
begin
if not IdPOP31.Connected then
ShowMessage('Неа)))')
else
begin
mc:=Form1.idpop31.CheckMessages;
m:=TIdMessage.Create(idpop31);
for i := 1 to mc do
begin
idpop31.RetrieveHeader(i,m);
for j:=0 to m.MessageParts.Count-1 do
if M.MessageParts.Items[j] is TIdText then
Memo1.Lines.AddStrings(TIdText(m.MessageParts.Items[j]).Body);
end;
end;
end;
Изложу проблему в двух словах:
Я могу все получить (заголовок, from, время), одним словом ВСЕ! Но не могу получить сам текст сообщения(
m.Body.Text
Он мне или ничего не возвращяет, или просто пустое место! (что почти одно и тоже)
Что делать?
Искал в поисковиках, так почти у всех одно и тоже написано, но подобной проблемы нет не у кого)))
m.Body.Text
TIdText(m.MessageParts.Items[j]).Body
Возвращяет одно и тоже... - ""
Shadow_exe (2006-10-29 17:21:00) [1]розабрался вроде...
Орион (2006-10-29 17:04:00) [2]http://unix.org.ua/rfc/rfc2045.html
Shadow_exe (2006-10-29 16:59:00) [3]Что это?
Орион (2006-10-29 16:58:00) [4]rfc 2045
Shadow_exe (2006-10-29 16:41:00) [5]
IdMessage1.CharSet := 'Windows-1251';
IdMessage1.ContentType := 'text/html';
IdMessage1.ContentTransferEncoding := 'noEncode';
А что с кодировкой делать то?
Пробую все что знаю, но ничего не выходит)))
Shadow_exe (2006-10-29 16:32:00) [6]Легко сказать)))
Орион (2006-10-29 16:23:00) [7]> [9] Shadow_exe (29.10.06 16:21)
просто сам сортируй по папкам.
Shadow_exe (2006-10-29 16:21:00) [8]
> т.е. в самом мейл-клиенте
Это так, но всеравно как-то оно же должно розбиваться)))
Ладно, что-то придумаю...
Орион (2006-10-29 16:19:00) [9]> [7] Shadow_exe (29.10.06 16:09)
не знаю. Я с "высокоуровневыми" компонентами Indy не работал :)
Насколько я знаю "папки" организуются локально, т.е. в самом мейл-клиенте.
Shadow_exe (2006-10-29 16:09:00) [10]А тогда другой вопрос:
Как узнать в какой папке лежит сообщение и брать только из входящих, или к примеру только те, что еще не прочитаны?
Shadow_exe (2006-10-29 16:08:00) [11]Заработало)))
Shadow_exe (2006-10-29 16:02:00) [12]
procedure TForm1.Button1Click(Sender: TObject);
var
mc, i, s, j: integer;
m: TIdMessage;
begin
if not IdPOP31.Connected then
ShowMessage('Неа)))')
else
begin
mc:=Form1.idpop31.CheckMessages;
m:=TIdMessage.Create(idpop31);
for i := 1 to mc do
begin
idpop31.Retrieve(i,m);
for j:=0 to m.MessageParts.Count-1 do
if M.MessageParts.Items[j] is TIdText then
Memo1.Lines.AddStrings(TIdText(m.MessageParts.Items[j]).Body);
end;
end;
end;
Если ты имееш ввиду так, то оно теперь вообще не пашет(((
Shadow_exe (2006-10-29 15:58:00) [13]Спасибо попробую)
Орион (2006-10-29 15:53:00) [14]случайно отправить нажал.
Retrieves headers for a message.
function RetrieveHeader(const MsgNum: Integer; AMsg: TIdMessage): Boolean;
Parameters
const MsgNum: Integer
Message number to be retrieved.
AMsg: TIdMessage
Message instance where headers will be stored.
Return Value
Boolean - True on success.
Description
RetrieveHeader is a Boolean function that retrieves the headers of the messagenumber specified in MsgNum and stores the values in the AMsg instance.
Орион (2006-10-29 15:52:00) [15]PS: потому что получить заголовок и получить все сообщение - две разные разницы.
Перед тем как постить, можно было хотя бы справку прочитать:
Орион (2006-10-29 15:49:00) [16]> Но не могу получить сам текст сообщения(
Оно и понятно.
TIdPOP3.Retrieve(const MsgNum: Integer; AMsg: TIdMessage)