AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(
Thema durchsuchen
Ansicht
Themen-Optionen

Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(

Ein Thema von Cyberbob_at_tot · begonnen am 17. Sep 2006 · letzter Beitrag vom 17. Sep 2006
Antwort Antwort
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#1

Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(

  Alt 17. Sep 2006, 15:35
Hallo zusammen,
ich schreibe gerade eine Serviceanwendung. Mein Problem ist gerade, das er mir keine Mails verschickt. Bekomme da eine EAccessViolation bei "with IdMessage do begin". Versteh leider nicht wieso, vieleicht könnt ihr mir da weiterhelfen. Habe in die Serviceanwendung TIDSMTP,TIdMessage und IdAttachmentFile eigefügt.

Code:
procedure TService1.SendMailtoAdmin;
var fehler: boolean;
begin
  fehler := false;
  //Mail vorbereiten
    with IdMessage do begin
      Body.Text := '';
    // Name des Absenders
      From.Text := '******************';
    //E-Mail-Adressen der Empfänger (durch Komma getrennt)
      Recipients.EMailAddresses := '*******************';
    //Betreff (Subject) der Mail
      Subject := 'Fehler';
    //Priorität
      Priority := mpNormal;
    //E-Mail-Adressen der Kopie-Empfänger (CC=Carbon Copy)
      CCList.EMailAddresses := '';
    //Content Typ
      ContentType := 'multipart/mixed';
    end;
  //Anhang
    TIdAttachmentfile.Create(idmessage.MessageParts, LOGFILE);
  //Authentifizierung nötig?
    SMTP.AuthType := atDefault;
  //Benutzerdaten für Authentifizierung
    SMTP.Username := '**************';
    SMTP.Password := '**************';
  //Server-Daten
    SMTP.Host := '***********';
    SMTP.Port := 25;
    SMTP.Connect;
    SMTP.Send(idMessage);
    SMTP.Disconnect;
    //Mail verschicken
  {except
    writelog('Fehler bei SMTP Admin Verbindung');
    fehler := true;
  end;
  try
    if not fehler then SMTP.Send(IdMessage);
  finally
    if not fehler then
    begin
      SMTP.Disconnect;
      writelog('AdminMail versendet');
    end;
  end;}
end;

Danke für jegliche Hilfe.

MFG

Cyberbob
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(

  Alt 17. Sep 2006, 16:04
Hallo,

wo und wann hast du die Instanz von TIdMessage erzeugt? Welche Meldung kommt genau? Eine Speicheradresse 0 weist auf eine fehlende Instanz (IdMessage = nil) hin.

Grüße vom marabu
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(

  Alt 17. Sep 2006, 16:06
hmmm habe ich hier, oder ist das falsch ?

Code:
procedure TService1.ServiceCreate(Sender: TObject);
begin
  SMTP.Create;
  IdMessage.create;
  Service1.SendMailtoAdmin;
end;
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(

  Alt 17. Sep 2006, 16:18
Der Ort mag stimmen, aber die Methodik ist wohl falsch - besser so:

idMessage := TIdMessage.Create; marabu
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(

  Alt 17. Sep 2006, 16:33
Ups, ja da lag ich falsch. Habs geändert, aber leider kommt immer noch die selbe Fehlermeldung.

Delphi-Quellcode:
procedure TService1.ServiceCreate(Sender: TObject);
begin
  idMessage := TIdMessage.Create;
  Service1.SendMailtoAdmin;
end;
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(

  Alt 17. Sep 2006, 17:08
Gehe systematisch vor: verwende Assert() oder führe ein tracefile. Prüfe in deiner Methode SendMailToAdmin() ob alle deine Annahmen zutreffen. Die genaue Fehlermeldung hast du noch nicht zitiert und zu der Vermutung idMessage = nil hast du auch noch nicht Stellung genommen. Eventuell hast du ja ein Überdeckungsproblem und die verwendete Variable idMessage in der Methode SendMailToAdmin() ist nicht dieselbe, wie die jetzt ordnungsgemäß instanzierte.

marabu
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(

  Alt 17. Sep 2006, 17:23
Sorry keine Erfahrung mit Fehleranalyse.

Habe aber eine VCL wo der Selbe Code enthalten ist, da funktioniert er und die Mail wird verschickt!

Die genaue Fehlermeldung:
Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 004D2198 in Modul Project.exe. Lesen von Adresse 0000108 aufgetreten.


Werd mich morgen mal dransetzen und schauen ob ich da was finden kann.

Wie kann ich die Instanz auf Nill prüfen? Die Variable ist die Selbe in der Prozedure.

Alles sehr komisch
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(

  Alt 17. Sep 2006, 17:24
Hi,

fehlt da nicht noch ein

var idMessage: TIdMessage; ?



Gruß
Frank

Edit: Evtl. ist es auch sinnvoll die Variable für die Mail anders zu benennen, da "idMessage" möglicherweise schon durch TIdMessage selbst verwendet wird....
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Mail (TIDSMTP) aus Serviceanwendung funkt nicht :(

  Alt 17. Sep 2006, 17:50
Cool...


das unbenennen von idmessage in Mailmessage hat geholfen. Danke für eure Hilfe. Man sollte eben immer ne vernüftige Bezeichnung angeben :=


Danke für Eure Hilfe!
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz