AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Problem mit Email-Versand Indy
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Email-Versand Indy

Ein Thema von Marco Steinebach · begonnen am 15. Mai 2018 · letzter Beitrag vom 16. Mai 2018
Antwort Antwort
Marco Steinebach

Registriert seit: 4. Aug 2006
503 Beiträge
 
Delphi 5 Enterprise
 
#1

AW: Problem mit Email-Versand Indy

  Alt 15. Mai 2018, 16:20
Ich bin ein bißchen weiter.
in
Code:
procedure TIdSMTP.InternalSend(AMsg: TIdMessage; const AFrom: String; ARecipients: TIdEMailAddressList);
wird
Code:
  AMsg.ExtraHeaders.Values[XMAILER_HEADER] := MailAgent;
aufgerufen und Mailagent ist
inaccessible
sagt mein Delphi...

Irgendwelche Ideen...

Viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.017 Beiträge
 
#2

AW: Problem mit Email-Versand Indy

  Alt 15. Mai 2018, 17:10
Also zum einen würde ich das smtp.connect nicht schon im FormCreate machen.
Dafür könntest du dir eine function (z.B. ConnectSMTP) anlegen, in der auch alle Werte, die jetzt im FormCreate stehen, gesetzt werden.
Mir fallen nur sehr wenige Fälle ein, in denen es Sinn machen würde die SMTP-Verbindung während der ganzen Programmlaufzeit aufrecht zu halten. (Von den Problemen mal ganz abgesehen, wenn den Provider die zwischendurch kappt).

Diese Funktion sollte dann als Rückgabewert ein Boolean zurückgeben, je nachdem ob connected werden konnte oder nicht.

Zum anderen würde ich TIdMessage nicht mit Owner Application erzeugen.

Und die ButtonClick-Routine sollte dann so aussehen:

Delphi-Quellcode:
procedure ButtonClick(Sender: TObject);
var
  m: TIdMessage;
begin
  if connectSMTP then
  Try
    m:=TIdMessage.Create(nil); //mit nil als Owner erzeugen.
    .
    .
    .
    SMTP.send(m);
  finally
    SMTP.disconnect; //oder SMTP.Connected:=false; das weiß ich jetzt aus dem Kopf nicht.
    m.free;
  end;
end;
Das hilft dir jetzt zwar nicht bei deinem Problem, ist aber sinnvoller.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
503 Beiträge
 
Delphi 5 Enterprise
 
#3

AW: Problem mit Email-Versand Indy

  Alt 15. Mai 2018, 17:27
Hi Hobbycoder,
stimmt natürlich. Das Zeugs stammt aus einem weitaus größeren Projekt, wo ich das genauso mache, wie du es vorgeschlagen hast. Das hier ist nur die quick-and-dirty-version, um den Laufzeitfehler zu finden.
Viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.017 Beiträge
 
#4

AW: Problem mit Email-Versand Indy

  Alt 15. Mai 2018, 17:48
Hi Hobbycoder,
stimmt natürlich. Das Zeugs stammt aus einem weitaus größeren Projekt, wo ich das genauso mache, wie du es vorgeschlagen hast. Das hier ist nur die quick-and-dirty-version, um den Laufzeitfehler zu finden.
Viele Grüße
Marco
Quick-And-Dirty macht einem aber gerade die Fehlersuche manchmal etwas schwer, bzw. man baut sich damit gerne neue Fehler ein.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
503 Beiträge
 
Delphi 5 Enterprise
 
#5

AW: Problem mit Email-Versand Indy

  Alt 16. Mai 2018, 11:02
Hallo zusammen,
falls nochmal jemand darüber fällt...
Es gibt einen Bug in D5, das overload-Prozeduren mit offenen Array-Parametern eine Schutzverletzung verursachen. Als Workarround mit abgeschalteter Optimierung und eingeschalteten Stackframes kompilieren, dann läuft's.
Ja, ja, oder auf eine vernünftige Delphi-Version wechseln, wenn man die nur mit Screenreadern bedienen könnte...

Herzliche Grüße
Marco
Marco Steinebach
  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 21:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz