![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как отделить аттачмент?
VajVajVaj © (2006-07-10 22:54:00)следующий код я использую для чтения почты:
procedure TForm1.Button1Click(Sender: TObject);
var
pop3mailcounttotalI : integer;
pop3mailboxsizetotalI : integer;
I : integer;
J : integer;
K : integer;
bodyS : TStringList;
s : string;
Msg: TIdMessage;
c:TCollection;
begin
IdPOP31.Host := 'pop.yandex.ru';
IdPOP31.Port := 110;
IdPOP31.Username := 'V-o-i-d-1';
IdPOP31.Password := '9632147';
bodyS := TStringList.Create;
IdPOP31.Connect;
pop3mailcounttotalI := IdPOP31.CheckMessages;
pop3mailboxsizetotalI := IdPOP31.RetrieveMailBoxSize div 1024;
ShowMessage( 'Mail total =' + ' ' + IntToStr( pop3mailcounttotalI ) );
ShowMessage( 'Mailbox size total =' + ' ' + IntToStr(
pop3mailboxsizetotalI ) + ' ' + 'Kilobytes' );
for I := 1 to pop3mailcounttotalI do begin
ShowMessage( 'I =' + ' ' + IntToStr( I ) );
Msg := TIdMessage.Create( Self );
if IdPOP31.Retrieve( I, Msg ) then begin // add an IDMessage component from the Indy Misc tab, to initialize IdMessage1
ShowMessage( Msg.MsgId );
ShowMessage( Msg.Subject );
for J := 0 to Pred( IdMessage1.MessageParts.Count ) do begin
if ( IdMessage1.MessageParts.Items[ J ] is TIdAttachment) then
begin
BodyS.Add( TIdAttachment(IdMessage1.MessageParts.Items[J ] ).Filename );
end;
if ( IdMessage1.MessageParts.Items[ J ] is TIdText ) then begin
ShowMessage( 'I am here' );
BodyS.AddStrings( TIdText( IdMessage1.MessageParts.Items[J ]).Body );
end;
end;
ShowMessage( BodyS.Text );
Msg.NoDecode := false;
BodyS.Clear;
ShowMessage( Msg.ContentType );
for J := 0 to Pred( Msg.MessageParts.Count) do
begin
if ( Msg.MessageParts.Items[J] is TIdAttachment ) then
begin
end
else
begin
for K := 0 to 1 do begin
if Msg.MessageParts.Items[J] is TIdText then begin
Memo1.Lines.AddStrings(TIdText( Msg.MessageParts.Items[J]).Body);
BodyS.AddStrings( TIdText( Msg.MessageParts.Items[J ]).Body );
end;
end;
end;
end;
ShowMessage( BodyS.Text );
end
else begin
ShowMessage( 'Internet: E-mail: Header: Could not be retrieved' );
end;
end;
IdPOP31.Disconnect;
end;
помогите мне пожалуйста пристроить сюда код для отделения аттачмента.
VajVajVaj (2006-07-11 11:33:00) [1]Спасибо, очень благодарен :thumbs:
Slym (2006-07-11 05:51:00) [2]BodyS.Add( TIdAttachment(IdMessage1.MessageParts.Items[J ] ).Filename );
TIdAttachment(IdMessage1.MessageParts.Items[J ] ).SaveToFile