Avatar billede fun22 Nybegynder
29. oktober 2003 - 15:14 Der er 9 kommentarer og
1 løsning

checke mail og slette dem

Hej

Jeg har en listbox og en nmpop3. Jeg gar indstillet nmpop3 til at hente fra min server, men nu vil jeg så have den til at checke on de mails der ligger på serveren har et af ordene som er listet i listboxen, og slette den hvis den gør. Jeg havde tænkt mige noget i stil med det her:

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
pop3.Connect;
for I := 1 to pop3.MailCount do
begin
pop3.GetMailMessage(i);
if pop3.MailMessage.Subject = blacklist.Items.Text then begin
pop3.DeleteMailMessage(i);
showmessage('Er slettet');
end;
end;
pop3.Disconnect;
end;

Men det virker ikke...
Avatar billede kallesen01 Nybegynder
29. oktober 2003 - 22:23 #1
Hej Jeg har muligvis en løsning på dette men vil ikke spille alt for klog da jeg ikke har delphi ved hånden lige nu... men her kommer der lidt af din egen kode:

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
pop3.Connect;
for I := 1 to pop3.MailCount do
begin
pop3.GetMailMessage(i);
if pop3.MailMessage.Subject = blacklist.Items.Text then begin
pop3.DeleteMailMessage(i);
showmessage('Er slettet');
end;
end;
pop3.Disconnect;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
pop3.Connect;
for I := 1 to pop3.MailCount do
begin
pop3.GetMailMessage(i);
if pop3.MailMessage.Subject := blacklist.Items.Text then begin <- : er tilføjet
pop3.DeleteMailMessage(i);
showmessage('Er slettet');
end;
end;
pop3.Disconnect;
end;

det virker sikkert ikke men prøv da lige og måske smid begin væk altså den som er lige efter then....

/Kallesen
Avatar billede fun22 Nybegynder
30. oktober 2003 - 16:02 #2
viker ikke. := bruge hvis man skal have noget ind i emne linien. Her skal jeg jo tjeke emne linien.
Avatar billede ullesan Nybegynder
30. oktober 2003 - 17:22 #3
er det nu ikke == du skal bruge!?

...
if pop3.MailMessage.Subject == blacklist.Items.Text then begin
...
Avatar billede fun22 Nybegynder
30. oktober 2003 - 17:42 #4
virker heller ikke...
Avatar billede arne_v Ekspert
30. oktober 2003 - 20:07 #5
Nej.

== er C/C++/C#/Java

Man bruger = i Pascal/Delphi
Avatar billede hermandsen Juniormester
06. november 2003 - 11:42 #6
Prøv lige at lave loopet om så det i stedet kører baglænds...

Det kunne jo tænkes at når du har hentet en mail så bliver MailCount mindre, og så går loopet i smader... Der er flere måder at løse det på:

for I := pop3.MailCount downto 1 do
begin
  bla bla bla
end;

eller:

for I := 1 to pop3.MailCount do
begin
  bla bla bla
  pop3.GetMailMessage(1);
  bla bla bla
end;

Er ikke testet, men prøv!!

//hermandsen
Avatar billede fun22 Nybegynder
07. november 2003 - 15:01 #7
virker heller ikke :(

Når man køre funktionen så kigger den godt nok på mailen, men den sletter den ikke...

Jeg har på serveren en test mail som har 'test' i emnet. Og i min listbox 'blacklist' har jeg ordet 'test'. Men den sletter den ikke...
Avatar billede fun22 Nybegynder
20. november 2003 - 17:22 #8
ingen der kan hjælpe???
Avatar billede fun22 Nybegynder
24. november 2003 - 16:04 #9
Jeg lukker snart hvis ikke der er en der kan hjælpe....
Avatar billede fun22 Nybegynder
26. november 2003 - 18:28 #10
lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester