| Autor |
Beitrag |
DanielB
Hält's aus hier
Beiträge: 4
|
Verfasst: Do 17.10.02 22:48
Erstmal "Hi an alle!"
Bevor ich hier mit tausenden von Posts zugebombt werde, möchte ich sagen, dass ich Delphi erst vor ca. 3 Monaten angefangen habe zu lernen!
Im Prinzip ist mir klar, wie man in Delphi programmiert! Nun möchte ich aber eine "Mail Checker" erstellen.
Dabei will ich, dass das Programm auf das POP3-Konto zugreift und schaut, ob Mails vorhanden sind. Es sollen keine Mails runtergeladen oder angesehen werden, wirklich nur nachsehen, ob welche vorhanden sind.
Also habe ich angefangen herumzubasteln. Aber ich schaffe es nicht! In der Help-File von Delphi steht zwar was zu NMSMTP und NMPOP3, aber da steige ich nicht ganz durch. Dann habe ich mir die ICS-Komponenten runtergeladen und installiert. Damit finde ich es aber auch nicht wirklich einfacher.
Wenn jemand ein TUT (am besten in deutsch, muss aber nicht sein) kennt oder mir sonst irgendwie helfen kann, wäre ich sehr dankbar!
Gruß
DanielB
|
|
Millo
      
Beiträge: 147
|
Verfasst: Fr 18.10.02 00:37
Moin
Also wenn du nur auf Mails überprüfen willst brauchst du auch nur ne POP3 Komponente. Ich hab in dem Beispiel mal die NMPOP3 benutzt
Als erstes musst du dich mit dem Server verbinden:
Quelltext 1: 2: 3: 4: 5:
| NMPOP31.Host := 'Name des Host'; NMPOP31.Port := die Port Nummer; NMPOP31.UserID := Den benutzernamen; NMPOP31.Password := 'Das Passwort'; NMPOP31.Connect; |
Ich denke das ist alles leicht nachzuvollziehen. (Die Standart Port Nummer ist überings 110).
Als nächstes lässt du die Mails zählen dafür brauch man nur einen Befehl:
Quelltext 1:
| countMails := NMPOP31.MailCount |
countMails ist in disem Fall eine Variable vom Integer Typen. Man kann natürchlich auch den Wert direkt an ein Label oder so geben.
Dann muss man nur noch die Verbindung trennen
Quelltext
Falls du nch fragen hast kannst dich ja einfach melden.
|
|
DanielB 
Hält's aus hier
Beiträge: 4
|
Verfasst: Fr 18.10.02 08:56
Hi Millo!
Also ne procedure connect erstellen, die aufgerufen wird, wenn Button1 geklickt wird.
Ok, im procedure connect dann verbinden und Mails prüfen.
Danach mit LabelX.Caption := 'Sie haben ' + IntToStr(countMails) + ' neue Nachricht(en)!'; ?
Gehe ich da richtig von aus?
Gruß
Daniel
|
|
DanielB 
Hält's aus hier
Beiträge: 4
|
Verfasst: Fr 18.10.02 09:17
Es geht nicht! Ich poste hier mal einen Teil des Codes:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Psock, NMpop3;
type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Label2: TLabel; Edit2: TEdit; Button1: TButton; Label3: TLabel; NMPOP31: TNMPOP3; procedure Button1Click(Sender: TObject); procedure connecting; private public end;
var Form1: TForm1; UID: string; PASS: string; countMails: Integer;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); begin UID := Edit1.Text; PASS := Edit2.Text; connecting; Label3.Caption := 'Es warten ' + IntToStr(countMails) + ' Nachrichten!'; end;
procedure connecting; begin NMPOP3.Host := 'pop.t-online.de'; NMPOP3.Port := '110'; NMPOP3.UserID := UID; NMPOP3.Password := PASS; NMPOP3.Connect; countMails := NMPOP31.MailCount; NMPOP3.Disconnect; end;
end. |
Er bringt mir immer mehrere Compiler-Errors:
Undeclared identifier 'Host', 'port',.......
Kann mir jemand helfen?
Gruß
Daniel
Moderiert von matze: Code- durch Delphi-Tags ersetzt
|
|
LCS
      
Beiträge: 1305
Erhaltene Danke: 1
WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
|
Verfasst: Fr 18.10.02 09:35
Hi
Schreib das mal so:
Delphi-Quelltext 1: 2: 3:
| procedure TForm1.connecting; begin ... |
Gruss Lothar
Moderiert von matze: Code- durch Delphi-Tags ersetzt
_________________ Der BH ist für die Brust, der Plan ist für'n Ar...
|
|
DanielB 
Hält's aus hier
Beiträge: 4
|
Verfasst: Fr 18.10.02 11:36
Hi!
Danke für deine Antwort! Programm geht jetzt!
Gruß
Daniel
|
|
benholio
Hält's aus hier
Beiträge: 2
|
Verfasst: Sa 23.11.02 01:13
Titel: Fehler
Hi, ich habe diesen Code auch mal ausprobiert, bekomme aber noch folgenden Fehler angezeigt:
Diese Fehler kommen bei den uses:
[Fataler Fehler] Unit1.pas(  : Datei nicht gefunden: 'NMpop3.dcu'
(bei: NMpop3)
[Fataler Fehler] Unit1.pas(  : Datei nicht gefunden: 'NMConst.dcu'
(bei: Psock)
Kann mir jemand helfen ?
|
|
BungeeBug
      
Beiträge: 901
|
Verfasst: Sa 23.11.02 08:09
dann ist dir ne Hilfe-Datei abhanden gekommen ... ich kann dir aber nur sagen das du diese (ka welche) unter Tools->Evoirement Optionen -> Library wieder hinzufögen kannst. Für gewöhnlich liegen die Hilfedatein im gleichen Verzeichniss wo auch die jeweiligen Kompos liegen.
€dit
ich denk mal $(DELPHI)\Bin die variable sollte dir da fehlen oder?
Jetzt sollte auch das wieder gehn ....
€dit €nd€
MfG Bungee
|
|
benholio
Hält's aus hier
Beiträge: 2
|
Verfasst: Sa 23.11.02 16:02
Mh ich weiss nicht genau. Kenn mich damit nicht aus.
aber wenn ich den Code einfüge, dann gibt er zwar keine Fehler mehr aus, aber compiliert nur ein normales Formular und nicht das, was ich bearbeitet habe...
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Mo 15.05.06 15:52
hab folgenden Code:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.FormCreate(Sender: TObject); var countMails: integer; begin Application.ShowMainForm:=False; NMPOP3.Host := 'pop3.web.de'; NMPOP3.Port := 110; NMPOP3.UserID := Nickname; NMPOP3.Password := Passwort; NMPOP3.Connect; countMails := NMPOP3.MailCount; NMPOP3.DisConnect; ShowMessage('Mail bekommen! ('+inttostr(countMails)+')'); Application.Terminate; end; |
jetzt hab ich folgendes Problem:
1x hat das Programm funktioniert, jetzt sagt er 'Authentication failed'. Was hat das zu bedeuten?
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
iKilledKenny
      
Beiträge: 394
Erhaltene Danke: 8
Win XP
D5 Prof, C# Express 2005
|
Verfasst: Mo 15.05.06 16:22
ich bin der meinung web.de hat eine beschränkung drin, dass man nur alle 15 minuten auf sein pop-konto zugreifen darf.
grüße
alex
|
|
raiguen
      
Beiträge: 374
WIN 2000prof, WIN XP prof
D7EP, MSSQL, ABSDB
|
Verfasst: Mo 15.05.06 16:33
Moin
Bei WEB.DE gibt es eine Einschränkung: sofern man 'nur' den kostenfreien Account hat, muss der Abstand zwischen den einzeln 'Anfragen' auf das Postfach mindestens 15 Minuten betragen; ist die Zeitspanne kleiner, kann es zu der beschriebenen 'Fehler'meldung kommen.
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Mo 15.05.06 17:07
ok, thx
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Di 04.07.06 13:51
folgende Frage hab ich jetzt:
wie kann ich das ganze unter Delphi 2005 machen?? Da gibts kein NMPOP3...
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Mi 05.07.06 14:15
Kann man das mit Indy lösen, oder gibts da ne komponente wie in D6??? (ich will mit D2k5 abrufen, wieviele mails ich bekommen habe)
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
demo88
      
Beiträge: 160
Ubuntu 6.04, Win XP
Delphi 7
|
Verfasst: Fr 07.07.06 12:41
Bei den Indys gibt es die Komponente IdPOP3. Geht da warscheinlich genauso.
_________________ "Das ist kein Bug, das ist ein Feature..."
|
|