xt3
Messages postés23Date d'inscriptionmardi 10 janvier 2006StatutMembreDernière intervention13 février 2006
-
13 févr. 2006 à 17:00
cilmarseille
Messages postés15Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention13 février 2006
-
13 févr. 2006 à 23:57
Petite question toute bête.
Est ce que quelqu'un saurait comment faire pour supprimer un e-mail directement sur un serveur pop?
D'après mes recherches, l'instruction idpop3.delete(numéro_du_mail) devrait faire l'affaire mais je ne parviens pas à supprimer les mails.
Voici mon script, il permet de récupérer les e-mail sur un serveur pop
contenant des logs de firewall puis il traite les logs en retenant que
les attaques que reçoient le firewall et réexpédie le tout sous forme
d'e-mail.
For MAIL := 1 to nbmel -1 do begin
msg := TIdMessage.Create(self);
idpop31.Retrieve(MAIL,msg);
idpop31.RetrieveHeader(MAIL,Msg);
senders := (Msg.From.Text);
For email := 1 to nbmel -1 do begin
msg := TIdMessage.Create(self);
idpop31.Retrieve(email,msg);
idpop31.RetrieveHeader(email,Msg);
sandy := (Msg.From.Text);
If senders = sandy then begin
if Msg.MessageParts.Items[0] is TIdText then begin
While NoLg1 <= (Memo2.Lines.Count - 2) do Begin
While (NoLg2 <= (Memo2.lines.Count - 1)) do Begin
If Memo2.Lines.Strings[NoLg1] = Memo2.Lines.Strings[NoLg2] then
Memo2.Lines.Delete(NoLg2)
else
Inc(NoLg2);
end;
Inc(NoLg1);
NoLg2 := NoLg1 + 1;
End;
Memo2.Lines.EndUpdate;
IdMessage1 := TIdMessage.Create(nil);
IdMessage1.From.Address :=melrep;//senders; //@ émetteur
IdMessage1.ReplyTo.Add.Address :=senders; //@ de réponse et / ou destinataire
IdMessage1.Recipients.Add.Address := mel;
IdMessage1.Subject := melsuj; //Sujet du message
IdMessage1.ContentType := 'text/plain'; // Message texte
IdMessage1.Body := Memo2.Lines; //corps du message
//Connexion et envoi du message
if (Memo2.Lines.Count) <> 0 then begin
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
IdSMTP1.Free;
IdMessage1.Free;
end;
msg.Free;
Application.terminate;
end;
end.