![]() |
E_Mail
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; |
AW: E_Mail
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
Delphi-Quellcode:
Das gleiche Spiel auch für
FillChar(MMessage, SizeOf(MMessage), 0);
Delphi-Quellcode:
und
Empfaenger
Delphi-Quellcode:
.
Absender
|
AW: E_Mail
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. |
AW: E_Mail
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? |
AW: E_Mail
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 |
AW: E_Mail
welches E-Mail-Programm?
|
AW: E_Mail
Hallo Sven,
Mein E-Mailprogramm ist Thunderbird Version 68.9.0 64 Bit. Gruss Oldmann |
AW: E_Mail
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? |
AW: E_Mail
Hallo Sven,
das verstehe ich nicht. Die Mail aus dem Programm erreicht ja Thunderbird überhaup nicht. Oldmann |
AW: E_Mail
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" |
AW: E_Mail
Hallo Sven,
mach ich wenn ich wieder Zuhause bin. Oldmann |
AW: E_Mail
Hallo Sven,
das war die Lösung des Problems. Ich habe das an einem Programm, dass auch vorher keine E_Mail verschickt hat probiert und es hat einwandfrei geklappt. Ich bedanke mich bei Dir ganz herzlich. Liebe Grüsse Oldmann Damit ist das Thema geschlossen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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 by Thomas Breitkreuz