AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

E_Mail

Ein Thema von oldmann · begonnen am 22. Jun 2020 · letzter Beitrag vom 24. Jun 2020
Antwort Antwort
Seite 1 von 2  1 2      
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
152 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

E_Mail

  Alt 22. Jun 2020, 16:35
Hallo,

meine E-Mailroutine läuft seit Tokyo 10.2.2 nicht mehr.
Es kommt die Meldung 'Nutzerabruch'.
Ich finde da leider keinen Fehler und sie funktionierte ja sonst auch.
Vielleicht weiß von Euch jemand wo der Fehler steckt oder was sich in Tokyo 10.2.2 verändert hat.
Für Eure Hilfe wäre ich dankbar.

Gruss Oldmann


Delphi-Quellcode:
procedure TMemo_m.Button1Click(Sender: TObject);
var
  MMessage : TMapiMessage;
  Fehler : Integer;
  Empfaenger : Array[0..1] of TMapiRecipDesc;
  Absender : TMapiRecipDesc;
begin
  with MMessage do begin
    ulReserved := 0;
    lpszNoteText := PAnsiChar(AnsiString(Memo1.Lines.Text));
    lpszSubject := PAnsiChar(AnsiString('Datensatz Nr. '+IntToStr(satznum)+' aus Dateien '+svw1+'.Svw'));
    lpszMessageType := nil;
    lpszDateReceived := nil;
    lpszConversationID := nil;
    flFlags := 0;

    // Absender festlegen
    Absender.ulReserved:=0;
    Absender.ulRecipClass:=MAPI_ORIG;
    Absender.lpszName:= PAnsiChar(AnsiString('Absender'));
    Absender.lpszAddress:= PAnsiChar(''{AnsiString(Memo_ans.Edit3.Text)}); //Emailadresse Absender
    Absender.ulEIDSize:=0;
    Absender.lpEntryID:=nil;

    lpOriginator := @Absender;

    //Empfänger festlegen ... hier ein Empfänger
    nRecipCount := 1;
    Empfaenger[0].ulReserved:=0;
    Empfaenger[0].ulRecipClass:=MAPI_TO;
    Empfaenger[0].lpszName:= PAnsiChar('');//Empfängername
    Empfaenger[0].lpszAddress:= PAnsiChar(AnsiString(Memo_ans.Edit3.Text));//Emailadresse


// Empfaenger[0].lpszName:= PChar('');//Empfängername
// Empfaenger[0].lpszAddress:= PChar('');//Emailadresse
    Empfaenger[0].ulEIDSize:=0;
    Empfaenger[0].lpEntryID:=nil;

    lpRecips := @Empfaenger;

    nFileCount := 0;
    lpFiles := nil;
  end;
  Fehler := MapiSendMail(0, 0, MMessage, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0);
  case fehler of
    0 : ;
    MAPI_E_USER_ABORT : showmessage('Nutzerabbruch');
    else
      showmessage('Fehler');
  end;
end;
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: E_Mail

  Alt 22. Jun 2020, 17:58
Auch wenn es nicht unbedingt mit deinen Fehler zu tun hat, bitte ändere den Rückgabewert "Fehler" von Integer gemäß der MSDN Dokumentation zu einem Winapi.Windows.ULONG (also ein unsigned integer 32-Bit aka Cardinal).

Und nur um sicher zu gehen bitte als erste Zeile FillChar(MMessage, SizeOf(MMessage), 0); Das gleiche Spiel auch für Empfaenger und Absender .
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: E_Mail

  Alt 22. Jun 2020, 18:32
Geht ein altes Programm noch?
Nicht dass es ein Fehler beim Mailprogramm/Windows liegt.

Ich dachte auch erst vielleicht an Unicode, das Embarcadero es jtzt geschafft hat die UnicodeAPI (MapiSendMailW) zu implementieren, aber du da den falschen PAnsiChar übergibst,
aber sieht nicht so aus.

Und ja, den Record zu initialisieren kann nie schaden, da du nicht alle Parameter benutzt/zuweist.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: E_Mail

  Alt 22. Jun 2020, 19:17
Was war denn die Delphi-Version, mit der es funktionierte?
Und welche Windows-Version nutzt Du (genau)?
Mit der vorherigen Delphi-Version funktioniert es nach wie vor auf dem von Dir benutzten System?
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
152 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: E_Mail

  Alt 23. Jun 2020, 09:23
Hallo,

erst mal vielen Dank an alle.
Also ich benutze wie bereits oben beschrieben Tokyo 10.2.2.
Mein PC hat einen Ryzen 5 Prozessor.
Das Betriebssystem ist Windows 10 Pro.
Version 1909, Betriebssystembuilt 18363.90.
Ich habe alle älteren Versionen die das Mailprogramm enthalten geprüft und bei allen kommt die Fehlermeldung „Nutzerabbruch“.
Auch bei Versionen die mit Delphi 6 Prof. und Delphi Berlin geschrieben sind.
Die liefen sonst alle problemlos.
Jetzt kommt der Clou.
Ich habe die Programme auch mal auf meinem Notebook getestet.
Windows 10 Home und ein Intel i5 Prozessor.
Version 1903, Betriebssystembuilt 18362.90.
Dort laufen die Emailroutinen in allen Programmen einwandfrei.
Wie kann das sein????
Hat jemand schon einmal so etwas gehört ?
Mir fehlt im Moment die Zeit, aber ich werde auf beiden Rechnern die Emailroutinen Schritt für Schritt vergleichen.
Irgendwo muss die Fehlermeldung doch herkommen.

Gruß Oldmann
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: E_Mail

  Alt 23. Jun 2020, 09:39
welches E-Mail-Programm?
Sven Harazim
--
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
152 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: E_Mail

  Alt 23. Jun 2020, 09:50
Hallo Sven,

Mein E-Mailprogramm ist Thunderbird Version 68.9.0 64 Bit.

Gruss Oldmann
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: E_Mail

  Alt 23. Jun 2020, 10:17
Ich hatte das früher auch schon mal festgestellt und hab dann nicht mehr allzuviel auf diesen Rückgabewert gesetzt.

Gibt es einen Unterschied, wenn Du die Mail direkt weg sendest oder sie erst einmal im Postausgang speicherst?
Sven Harazim
--
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
152 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: E_Mail

  Alt 23. Jun 2020, 11:34
Hallo Sven,

das verstehe ich nicht.
Die Mail aus dem Programm erreicht ja Thunderbird überhaup nicht.

Oldmann
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: E_Mail

  Alt 23. Jun 2020, 11:56
achso, das Mailprogramm geht gar nicht erst auf... Den Effekt kenne ich, ob der allerdings dieses Funktionsergebnis hat weiß ich nicht.

Mach mal diesen Eintrag

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\ Windows Messaging Subsystem]
"MAPI"="1"
Sven Harazim
--
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:55 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