Entwickler-Ecke

Internet / Netzwerk - Email via SMTP


neofox - So 11.02.07 04:25
Titel: Email via SMTP
Hi leute habe mal versuch ein programm zu machen was mir eine email zu sendet plos bekomme es nicht gands hin hier sit der code vll kann mir ja mal eienr sagen was ich falsch gemacht habe ^^



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:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var msg: TIdMessage;
begin
  msg := TIdMessage.Create(Self);
  with msg do begin
    Sender.Text := 'blub@blub.com';
    Sender.Name := 'test';
    Sender.DisplayName := 'Ich bin der Sender';
    Recipients.EMailAddresses := 'blub2@blub.com';
    Body.Add('Text der Mail');
    Subject := 'Test';
    end;

  with IdSMTP1 do begin
    Host := 'smtp.anbiter.com';
    Username := 'blub';
    Password := 'fisch';
    Connect();
    try
      Send(msg);
      except
          ShowMessage(IdSMTP1.LastCmdResult.Code+' - '+IdSMTP1.LastCmdResult.Text.Text);
        end;
    Disconnect;
    end;
end;


end.

mfg

|\|30f0x


Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.


Xion - So 11.02.07 10:12

wenn du gesagt hättest, was nicht funktioniert (Fehlermeldung) dann hätt ich dir gleich sagen können, dass du gar keinen idSMTP1 deklariert hast (den musst du erst aus deiner Komponentenliste auf die Form setzen, ist glaub ich irgendwo unter Indy ;)


neofox - So 11.02.07 13:38

also habe mal ein bild gepostet welche fehler er mir anzeigt vll kann mir jetzt jemand genauer hälfen also das mit den idSMTP1 habe ich erstellt nun aber er zeigt trozdem noch fehler an

user defined image

ich habe kein plan was ich falsch gemacht habe


Xion - So 11.02.07 13:50

also, du solltest vielleicht nicht einfach den Code kopieren sondern auch so grob wissen wie er funktioniert ;)

1) "Undefinierter Bezeichner "BitBtn1Click" :
nenne mal deine procedure um, z.B. in "SendMail". Dann schreibst du bei deinem Button (den du erst noch erstellen musst) "SendMail" als Code im OnClick rein.

2) "Undefinierter Bezeichner "TIDMessage":
hier musst du erst die richtige Unit einbinden...IdMessage

3) "Ungenügende Forward- oder External-Deklaration: 'TForm1.FormCreate'"
   procedure FormCreate(Sender: TObject); musst du löschen


neofox - So 11.02.07 14:02

also ich habe ihn nciht plso eifnach so kopirt habe ihn mir zusammen geschnipselt aus dem was ich weiß und aus dem was ich so gefunden habe XD sorry bin halt ein nooby


Xion - So 11.02.07 14:28

user profile iconneofox hat folgendes geschrieben:
habe ihn mir zusammen geschnipselt aus dem was ich weiß und aus dem was ich so gefunden

dafür hat er aber mit diesem Code ein sehr hohe Ähnlichkeit (da wurde sogar auch ein BitBtn verwendet)
http://www.delphi-forum.de/viewtopic.php?t=56068&highlight=mail+smtp :mrgreen:


neofox - So 11.02.07 15:16

also ich habe dei schnipsel von ein kolegin bekommen vll hat er es daher naja aber egal

habe jetzt das prob das troz das is idSMTP1 erstelt habe er meint das es hier " with IdSMTP1 do begin" eine undefinirte bezeichnugn wäre


Xion - So 11.02.07 15:43

da musst du noch ne Unit einbinden *such* hmmm, ach, tu das mal alles bei uses rein: IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase, IdSMTP


neofox - So 11.02.07 16:20

hmm habe ich getan nun kanner er aber nicht die datein "IdExplicitTLSClientServerBase.dcu" und "IdSMTPBase.dcu" finden udn wen ich nur die weg lasse habe ich das selbe problem wie voher! wo bekommei ch den die datein her und wen ich sie habe wo füge ich sie ein?? O.o


Xion - Mo 12.02.07 15:23

ja, also, die fehlenden Dateien müssen in den Library-Ordner (zumindest bei D2005). Du musst die pas kompilieren, damit du die dcus bekommst. Also am besten einfach mal die pas-Dateien öffnen (musst halt mal mit der Windows-Suche die passenden Dateien suchen) und kompilieren. Müsste funktionieren.