Autor Beitrag
LowSkills
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Mi 02.05.07 12:53 
Aloha!

Ich habe ein Problem mit dem versenden von Mails via selbst geschriebenem Proggi.
Der nachstehende Quellcode (stammt aus einem anderen Thread) erwartet einige Punkte oder Programmfeatures, die mein Delphi ohne die Deklaration in der USES oder die Installation gewisser Features nicht kennt.
Habe schon jede Menge Foren durchforstet und Threads durchstöbert, aber ich weiß nicht, wo das fehlt, was mir fehlt, wovon ich aber auch nicht weis, was überhaupt fehlt!

Auf den Punkt gebracht:
Die Exception bekomme ich bereits in den VAR's (zweite Zeile) -> undefinierter Bezeichener 'TIdMessage'

Wer kann mir da weiterhelfen?

ausblenden 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:
procedure TFormSendMail.BitBtn1Click(Sender: TObject);  
var msg: TIdMessage;  
begin  
  msg := TIdMessage.Create(Self);  
  with msg do begin  
    Sender.Text := 'sender@domain.com';  
    Sender.Name := 'Sender';  
    Sender.DisplayName := 'Ich bin der Sender';  
    Recipients.EMailAddresses := 'empfaenger@destination.de';  
    Body.Add('Text der Mail');  
    Subject := 'Test';  
    end;  

 
  with IdSMTP1 do begin  
    Host := 'mail.provider.de';  
    Username := 'meinuser';  
    Password := 'meinpasswort';  
    Connect();  
    try  
      Send(msg);  
      except  
          ShowMessage(IdSMTP1.LastCmdResult.Code+' - '+IdSMTP1.LastCmdResult.Text.Text);  
        end;  
    Disconnect;  
    end;  
end;

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 02.05.07 13:09 
Die Unit IdMessage.pas muss in die Uses-Liste hinzugefügt werden. ;-)

Gruß
Tino
LowSkills Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Mi 02.05.07 13:12 
:(
Oh Schreck.
Die hat aber dann doch derjenige, der den o. g. Quellcode "zu verantworten" hat, ne?
Also fehlt einem Lauffähigen eMail-Client per Delphi noch ne ganze Menge Quellcode???
:(

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 02.05.07 13:35 
Das ist eine Unit von den Indy-Komponenten.
LowSkills Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Mi 02.05.07 13:49 
:( uff...

bin deinem Link mal brav gefolgt und nicht wirklich klüger geworden. Was genau brauch ich denn da und wie realisiere ich das? Ich verstehe nur noch INDY :)
Also ich muss de facto was runterladen (vermutlich eine der INDY-dinger ?) und installieren, damit ich damit arbeiten kann, richtig?

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mi 02.05.07 13:54 
Hallo,
user profile iconLowSkills hat folgendes geschrieben:
Also fehlt einem Lauffähigen eMail-Client per Delphi noch ne ganze Menge Quellcode???
:(

selbstverständlich fehlt da eine ganze menge. Die von dir gepostete Funktion schickt einen Festen Text von einem Festen Absender über einen Festen Server an einen Festen Empfänger. Bei einem E-Mail Client währe es z.B. recht schön, wenn man diese Werte alle eingeben könnte. Auch das Abrufen von E-Mails währe nicht unpraktisch. Und willst du deinen Nutzern vielleicht auch ein Adressbuch oder ähnliches anbieten?
Du siehst, da ist noch eine ganze Menge zu tun.

Gruß
Klabautermann
LowSkills Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Mi 02.05.07 14:11 
Ja und nein ;)

Das Programm muss aufgrund vorgegebener Tabellen eine Art Serienmail mit jeweils leicht variablem text rausschicken. Die Variablen sind also "nur" die Empfänger, die Mail bleibt bei jeder Versendung im Grundgedanken die selbe (autmatisiert erstelleter Inhalt), der Absender ist von Fall zu Fall (je nach Empfänger) ein Anderer (automatisiert), aber ein Client im eigentlichen Sinne ist es nicht. Es werden keine eMails mit dem Proggi abgerufen und auch ein Adressbuch wird nicht von Nöten sein.

Um das mal mit deinen Worten zu sagen, alles ist "fest".

Und um die Frage schonmal vorweg zu nehmen, es handelt sich hierbei um ein Proggi, dass innerhalb meines Tätigkeitsbereiches gewisse sonst per Hand auszuführende Schritte für mich erledigt. Im Genauen geht es da um eine Flächendeckende Anfrage an Kunden von uns, die zweimal Pro Jahr rausgeht.

Kurz: Es handelt sich nicht um KEIN SPAM-Programm, was wahrscheinlich sonst leicht in den Focus geraten könnte.

Ist mir zu helfen? ;)

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 02.05.07 14:26 
user profile iconLowSkills hat folgendes geschrieben:
Also ich muss de facto was runterladen (vermutlich eine der INDY-dinger ?) und installieren, damit ich damit arbeiten kann, richtig?

Ja, richtig. ;-)
LowSkills Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Mi 02.05.07 14:31 
auch auf die Gefahr hin, dass meine Frage wieder zitiert und mit "Ja, richtig" beantwortet wird, stelle ich sie: Muss man dir alles aus der Nase ziehen?

Ich bin doch so ein hilfloser Mensch! :)

WAS genau muss ich den runterladen? Wie gesagt, deinem Link gefolgt war so viel INDY zu findy, dass ich als sog. Noob einfach überfordert bin ;)

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mi 02.05.07 14:36 
Am besten du erzählst uns erst einmal welche Delphi Version du nutzt, denn vielelicht sind die da ja schon automatisch mit drin. Und wenn du bei so einer Version dann einfach versuchst die noch mal rüber zu installieren gibt es viel Komplikationen.

Gruß
Klabautermann
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 02.05.07 14:37 
Hier solltest du die letzte Version erhalten: indy.fulgan.com/ZIP/indy10.zip (6,1 MB)

Entpacken und anschl. installieren. Danach sollten die Komponenten zur Verfügung stehen und dein oben geposteter Quellcode complierbar sein.
LowSkills Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Mi 02.05.07 14:47 
@klabautermann: Vers. 6,
@tino: danke, werds heut abend ausprobieren,
@ mich selber: dran denken, die Version zu prüfen *grins*

Danke schonmal vorab, bin sicher, ihr hört noch von mir ;)
LowSkills Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Mi 02.05.07 19:47 
Bin wieder im thread. leider :(

Ich bekomm jetzt die message, dass "Username" ein undefinierter Bezeichner ist.
Hab daher mal einen anderen Quellcode ausprobiert und wieder das selbe Spiel, da hieß es dann alternativ SMTP.USername, aber auch da war der Username undeclared.

Weiter geht es mit der Zeile LastCmdResult... auch undeclared :(

Wer kann helfen?
Jochen W.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 56



BeitragVerfasst: Do 03.05.07 10:48 
Hast du die Komponenten (TIdSMTP) auch auf das Formular gesetzt? Sind alle Units definiert? Sind die Suchpfade korrekt gesetzt?
LowSkills Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Fr 04.05.07 17:32 
Die Komponenten 'IdMessage1' und 'IdSMTP1' sind jetzt auf meiner Form, den Username hab ich jetzt in den VAR als variant angegeben, wie mir die Hilfe, wenngleich ich da auch nur halb fündig wurde, suggerierte. Ich weiss allerdings nicht ob die decl als variant jetzt ein Schritt in die Richtige Richtung oder vom Ziel weg war. Bei LastCMDResult bin ich allerdings völlig am Ende meines Lateins, da hat meine DelphiHilfe keinen Eintrag zu. Muss dafür auch ne Komponente her? wenn ja welche?

Vielen lieben Dank!
;)

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
LowSkills Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: So 13.05.07 12:58 
Hallo zusammen.

So wirklich habe ich jetzt nichts geändert, aber irgendwie funtkoinert es jetzt. Zugegeben, ich hatte hilfe dabei aber wozu hat man Freunde? Jedenfalls lieben Dank an alle, die sich das hier angeschaut haben und fleißig mithalfen.

Hier nochmal der Formvollendete Quelltext...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.Button2Click(Sender: TObject);
var
  IdMsg: TIdMessage;
begin
  IdMsg := TIdMessage.Create(nil);
  try

    idpop3.connect;
    messagedlg('Sie haben '+Inttostr(IDpop3.CheckMessages+1)+' Nachrichten auf dem Server, die zusammen '+InttoStr(IDpop3.RetrieveMailBoxSize div 1024)+ ' kb groß sind',mtinformation,[mbok],0);

    IdSMTP.Connect;

    IdMsg.From.Address := 'h.ehrens@prodigit-online.de';
    IdMsg.Recipients.EMailAddresses := 'h.ehrens@prodigit-online.de';
    IdMsg.Subject := 'Test';

    IdSMTP.Send(IdMsg);
  finally
    FreeAndNil(IdMsg);
  end;
end;


Es funktioniert jedenfalls, und das ist erstmal die hauptsache.

Danke nochmal!

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.