Autor Beitrag
Stadtfuchs
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17

DOS 6.22, Win 95, Win 98(SE), Win ME, Win 2000, Win XP Home, Win XP Professional, diverse SuSE Linux Systeme
D5 Ent, D7 Pro, D2005 Ent, C/C++5
BeitragVerfasst: Mi 04.01.06 16:41 
Hi

Ich sitz grad an einem Programm das einen bestimmten Schlüssel der Registry sichert und dann eine Bestätigungsmail mit einem kleinen Log absetzt. Ich habe mir von meinem Ausbilder ein bischen helfen lassen, da er meinte dass ich es so nicht schaffen würde. An dem Codestückchen, dass er mir gab, sollte ich nichts verändern. Jedoch funktioniert es immernoch nicht. Das Programm wird fehlerfrei beendet und man könnte denken, alles wäre gut. Die Mail ist jedoch auch nach etwas über einer halben Stunde nicht angekommen. An verstopfte Datenautobahnen glaube ich jetzt nicht wirklich... Ich poste das Stückchen Quellcode mal rein. Wäre nett, wenn das mal einer durchchecken könnte.

Schon mal allerherzlichsten Dank im Voraus.


Quellcode:
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:
// Nachricht zusammensetzen
  nachricht := user + ', ' + computer + ', ' + filename + ', ' + datum + ', ' + zeit;

  // Mail initialisieren
  Msg.ClearHeader;
  Msg.ClearBody;
  Msg.Recipients.Clear;
  Msg.MessageParts.Clear;

  // Mail zusammenbauen
  Msg.Date := now;
  Msg.From.Text := '';
  Msg.ReceiptRecipient.Address := '<Mail Adresse>';
  Msg.Recipients.Add;
  Msg.Recipients.Items[0].Address := '<Mail Adresse>';
  Msg.Recipients.Items[0].Name := '<Mail Adresse>';
  Msg.Subject := 'RegKey Sicherung von ' + user;
  Msg.Priority := mpNormal;
  Msg.Sender.Address := 'Mail Adresse';
  // Absenderadresse Firma 1
  {$ifdef firma 1}
  Msg.From.Address := '<Mail Adresse 1>';
  {$endif}
  // Absenderadresse Firma 2
  {$ifdef firma 2}
  Msg.From.Address := '<Mail Adresse 2>';
  {$endif}
  // Absenderadresse Firma 3
  {$ifdef firma 3}
  Msg.From.Address := '<Mail Adresse 3>';
  {$endif}

  // SMTP-Zugangsdaten
  SMTP1.Host := '<Host>';
  SMTP1.Port := 25;
  SMTP1.Username := '<Username>';
  SMTP1.Password := '<Password>';

  try
    myText := TStringList.Create;
    myText.Add(nachricht);
    Msg.Body := myText;

    // Auf den Mailserver connecten / disconnecten
    SMTP1.Connect();
    SMTP1.Send(Msg);
    SMTP1.Disconnect;
  finally
    myText.Free;
    myText := nil;
  end;

Die Zugangsdaten und Mailadressen hab ich mal durch Platzhalter ersetzt, da ich nicht weiss wie die Betreffenden Leute reagieren, wenn die Sachen hier drin stehen. Warscheinlich nicht besonders gut ;-)

_________________
Nicht wundern, bin Anfänger ^_^
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 787

Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
BeitragVerfasst: Mi 04.01.06 16:45 
Bei mir lag das Problem mal hier:

ausblenden Delphi-Quelltext
1:
Msg.From.Text := '';					


Und du hast das auch leer gelassen.
Da muss die Adresse die zu dem SMTP Acc. gehört rein, sonst läuft da nischt.
Sonst seh ich grad nix außer das es recht kompliziert geschrieben ist.
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 787

Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
BeitragVerfasst: Di 10.01.06 16:15 
Moment, habe mich vertan glaube ich.
Du kannst doch eigentlich von einem Account nur eine Adresse benutzen,
und nich wie du 3 Stk. und du definierst sie immer neu ?????

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Msg.From.Address := '<Mail Adresse 1>';
  {$endif}
  // Absenderadresse Firma 2
  {$ifdef firma 2}
  Msg.From.Address := '<Mail Adresse 2>';
  {$endif}
  // Absenderadresse Firma 3
  {$ifdef firma 3}
  Msg.From.Address := '<Mail Adresse 3>';
  {$endif}

Dann würde ich eher sagen

ausblenden Delphi-Quelltext
1:
Msg.From.Address:='<Mail Adresse 1>,<Mail Adresse 2>,...';