Autor Beitrag
DanielB
Hält's aus hier
Beiträge: 4



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 147



BeitragVerfasst: 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:
ausblenden 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:
ausblenden 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
ausblenden Quelltext
1:
NMPOP31.Disconnect;					


Falls du nch fragen hast kannst dich ja einfach melden.
DanielB Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 18.10.02 09:17 
Es geht nicht! Ich poste hier mal einen Teil des Codes:

ausblenden volle Höhe Delphi-Quelltext
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
    { Private declarations }
  public
    { Public declarations }
  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 user profile iconmatze: Code- durch Delphi-Tags ersetzt
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Fr 18.10.02 09:35 
Hi
Schreib das mal so:
ausblenden Delphi-Quelltext
1:
2:
3:
procedure TForm1.connecting;   // <== Hier steckt dein fehler
begin 
  ...


Gruss Lothar

Moderiert von user profile iconmatze: Code- durch Delphi-Tags ersetzt

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
DanielB Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: 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



BeitragVerfasst: 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(8): Datei nicht gefunden: 'NMpop3.dcu'
(bei: NMpop3)


[Fataler Fehler] Unit1.pas(8): Datei nicht gefunden: 'NMConst.dcu'
(bei: Psock)

Kann mir jemand helfen ?
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: 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



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
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)
BeitragVerfasst: Mo 15.05.06 15:52 
hab folgenden Code:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 8

Win XP
D5 Prof, C# Express 2005
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 374

WIN 2000prof, WIN XP prof
D7EP, MSSQL, ABSDB
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
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)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
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)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
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)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 160

Ubuntu 6.04, Win XP
Delphi 7
BeitragVerfasst: 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..."