AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Verbindung serverseitig geschlossen - Abhilfe?
Thema durchsuchen
Ansicht
Themen-Optionen

Verbindung serverseitig geschlossen - Abhilfe?

Ein Thema von fxbasic · begonnen am 21. Apr 2004 · letzter Beitrag vom 21. Apr 2004
Antwort Antwort
fxbasic
(Gast)

n/a Beiträge
 
#1

Verbindung serverseitig geschlossen - Abhilfe?

  Alt 21. Apr 2004, 08:55
Guten Morgen,

ich bin grad mit einem Prog beschäftigt, dass bei verschiedenen eMail-Accounts nach eMails schaut. Die Profildaten sind in einer Ini-Datei gespeichert. Code sieht aus wie folgt:

Delphi-Quellcode:
function GetMails(host,userid,passw: string): integer;
begin
with form1 do begin
pop.Host := host;
pop.UserId := userid;
pop.Password := passw;
mkstatus('Verbinde...');
pop.Connect;
try result := pop.CheckMessages except begin
result := -1;
pop.disconnect;
end;
end;
mkstatus('Trenne...');
pop.Disconnect;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var ini: TIniFile;
var i,x: integer;
var t1,t2: TTreeNode;
begin
TreeMake;
ini := TIniFile.create(extractfilepath(application.exename)+'settings.ini');
treeview1.Items.Clear;
t1 := treeview1.Items.AddChild(nil,'Konten');
for i := 0 to ini.ReadInteger('General','Profiles',0)-1 do begin
label2.caption := ini.readstring('Profil'+inttostr(i+1),'Name','');
application.processmessages;
x := GetMails(ini.readstring('Profil'+inttostr(i+1),'Host',''),
         ini.readstring('Profil'+inttostr(i+1),'UserID',''),
         ini.readstring('Profil'+inttostr(i+1),'Password',''));
t2 := treeview1.Items.AddChild(t1,ini.readstring('Profil'+inttostr(i+1),'Name','')+' ('+inttostr(x)+' eMails)');
end;
// ...
label2.caption := 'Fertig.';
label4.caption := 'Fertig.';
end;
Das funktioniert mit GMX- und "echten" (also kein Webmailer) eMail-Konten auch wunderbar. Bei freemail.web.de allerdings ist nur ein POP-Login pro 15 Min erlaubt. Frage ich mit meinem Prog jetzt mehr als einmal pro 15 Min ab, so verbindet er auch brav nur klebt mir dann die WEB.de Meldung von wegen 15 Min um die Ohren und beendet selbstständig die Verbindung. Folge: Der Rest des Codes wird nicht mehr abgearbeitet.

Und nun die Frage: wie kann man auf solche Situationen programmiertechnisch reagieren, da diese Meldung auch nicht über IDPOP3.onStatus abzufangen ist?

Mit bestem Dank im Voraus, fxbasic
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Verbindung serverseitig geschlossen - Abhilfe?

  Alt 21. Apr 2004, 11:38
Hmm, dein Programmcode gefällt mir nicht so richtig (Formatierung und Inhalt).
Besser so:
Delphi-Quellcode:
function GetMails(const host,userid,passw: string): integer;
begin
   // richtig einrücken, sonst siehts sch.... aus
   with form1 do
   begin
      pop.Host := host;
      pop.UserId := userid;
      pop.Password := passw;
      mkstatus('Verbinde...');
      pop.Connect;
      if not pop.Connected then // prüfe, ob Host mich abgelehnt hat
         raise Exception.CreateFmt('Connection terminated by host %s', [host]);
      try // Resource-Schutzblock
         result := pop.CheckMessages;
      finally
         mkstatus('Trenne...');
         pop.Disconnect;
      end;
   end;
end;
Und später dann:
Delphi-Quellcode:
try
   x := GetMails(ini.readstring('Profil'+inttostr(i+1),'Host',''),
         ini.readstring('Profil'+inttostr(i+1),'UserID',''),
         ini.readstring('Profil'+inttostr(i+1),'Password',''));
   t2 := treeview1.Items.AddChild(t1,ini.readstring('Profil'+inttostr(i+1),'Name','')+' ('+inttostr(x)+' eMails)');
except
   on E:Exception do
      t2 := treeview1.Items.AddChild(t1,ini.readstring('Profil'+inttostr(i+1),'Name','')+E.Message);
end;
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz