Fórum Como usar o indy (pop3) #194979
14/11/2003
0
Bom dia a todos.
Gostaria de saber como faço para receber e-mails usando o indy. Já procurei aqui no fórum uma documentaçao que fale a respeito, mas nada.
Estou usando o idpop3 e o idmessage, mas não sei como associá-los.
Grato pela atenção.
Gostaria de saber como faço para receber e-mails usando o indy. Já procurei aqui no fórum uma documentaçao que fale a respeito, mas nada.
Estou usando o idpop3 e o idmessage, mas não sei como associá-los.
Grato pela atenção.
Turbo Drive
Curtir tópico
+ 0
Responder
Posts
15/12/2003
Wgm8
procedure TFormReceber.ReceberBtnClick(Sender: TObject);
var
NumMsg : Integer;
CurMsg : Integer;
x : Integer;
FileName : String;
begin
ListBox1.Items.Clear;
if IdPOP31.Connected then IdPOP31.Disconnect;
//Dados para conexão
IdPOP31.Connect;
try
NumMsg := IdPOP31.CheckMessages; // Pega QTD. de MSG na Caixa Postal
if NumMsg > 0 then begin;
for CurMsg := 1 to NumMsg do begin; // Recupera Individualmente cada MSG
IdMessage1.Clear; // Recupera cabeçalho da Menssagem
IdPOP31.Retrieve(CurMsg, IdMessage1);
ListBox1.Items.Add(´Mesagem Nº´+IntToStr(CurMsg));
ListBox1.Items.Add(´De:´+IdMessage1.From.Text);
ListBox1.Items.Add(´Para:´+IdMessage1.Recipients.EMailAddresses);
ListBox1.Items.Add(´Assunto:´+IdMessage1.Subject);
ListBox1.Items.Add(´Data:´+FormatDateTime(´dd/mm/yyyy hh:mm:ss´, IdMessage1.Date));
for x :=0 to pred(IdMessage1.MessageParts.Count) do begin // Indentifica os tipos de Mime
if(IdMessage1.MessageParts.Items[x] is TIdAttachment) then
begin
FileName := DiretorioED.Text+TIdAttachment(IdMessage1.MessageParts.Items[x]).FileName;
if FileExists(FileName) then
DeleteFile(FileName);
TIdAttachment(IdMessage1.MessageParts.Items[x]).SaveToFile(FileName);
ListBox1.Items.Add(´Arquivo´+FileName+´foi salvo´);
end
else
begin
if IdMessage1.MessageParts.Items[x] is TIdText then
begin
ListBox1.Items.Add(´Texto:´+TIdText(IdMessage1.MessageParts.Items[x]).Body.Text);
end
end;
end;
// IdPOP31.Delete(CurMsg);
end;
end;
finally
IdPOP31.Disconnect;
end;
end;
var
NumMsg : Integer;
CurMsg : Integer;
x : Integer;
FileName : String;
begin
ListBox1.Items.Clear;
if IdPOP31.Connected then IdPOP31.Disconnect;
//Dados para conexão
IdPOP31.Connect;
try
NumMsg := IdPOP31.CheckMessages; // Pega QTD. de MSG na Caixa Postal
if NumMsg > 0 then begin;
for CurMsg := 1 to NumMsg do begin; // Recupera Individualmente cada MSG
IdMessage1.Clear; // Recupera cabeçalho da Menssagem
IdPOP31.Retrieve(CurMsg, IdMessage1);
ListBox1.Items.Add(´Mesagem Nº´+IntToStr(CurMsg));
ListBox1.Items.Add(´De:´+IdMessage1.From.Text);
ListBox1.Items.Add(´Para:´+IdMessage1.Recipients.EMailAddresses);
ListBox1.Items.Add(´Assunto:´+IdMessage1.Subject);
ListBox1.Items.Add(´Data:´+FormatDateTime(´dd/mm/yyyy hh:mm:ss´, IdMessage1.Date));
for x :=0 to pred(IdMessage1.MessageParts.Count) do begin // Indentifica os tipos de Mime
if(IdMessage1.MessageParts.Items[x] is TIdAttachment) then
begin
FileName := DiretorioED.Text+TIdAttachment(IdMessage1.MessageParts.Items[x]).FileName;
if FileExists(FileName) then
DeleteFile(FileName);
TIdAttachment(IdMessage1.MessageParts.Items[x]).SaveToFile(FileName);
ListBox1.Items.Add(´Arquivo´+FileName+´foi salvo´);
end
else
begin
if IdMessage1.MessageParts.Items[x] is TIdText then
begin
ListBox1.Items.Add(´Texto:´+TIdText(IdMessage1.MessageParts.Items[x]).Body.Text);
end
end;
end;
// IdPOP31.Delete(CurMsg);
end;
end;
finally
IdPOP31.Disconnect;
end;
end;
Responder
Gostei + 0
15/12/2003
Nigro
Se você instalou o Delphi full com certeza tem exemplos ded envio de e-mail´s usando Indy.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)