Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi MAPI mit windows 10 creator update (https://www.delphipraxis.net/194485-mapi-mit-windows-10-creator-update.html)

Mavarik 28. Nov 2017 16:45

MAPI mit windows 10 creator update
 
Hallo Zusammen!

Gibt es einen Workaround für die MAPI Schnittstelle unter "windows 10 fall creator update"?


Mavarik

hoika 28. Nov 2017 20:04

AW: MAPI mit windows 10 creator update
 
Hallo,
klär uns mal auf. Was geht denn nicht?

Mavarik 29. Nov 2017 08:52

AW: MAPI mit windows 10 creator update
 
Zitat:

Zitat von hoika (Beitrag 1387431)
Hallo,
klär uns mal auf. Was geht denn nicht?

Das MAPI interface wird nicht mehr unterstützt. (Email senden)

mensch72 29. Nov 2017 09:05

AW: MAPI mit windows 10 creator update
 
Ich habe hier ein ganz aktuelles Win10 und da funktioniert MAPI normal wie zuvor auch... hier ist aber auch ein Outlook2007(32bit) installiert und ich habe eine 32Bit Software, welche MAPI nutzt.

Outlook ist unter den Win10 Einstellungen auch als Standard Mail Programm ausgewählt.

Mavarik 29. Nov 2017 09:14

AW: MAPI mit windows 10 creator update
 
Zitat:

Zitat von mensch72 (Beitrag 1387455)
Ich habe hier ein ganz aktuelles Win10 und da funktioniert MAPI normal wie zuvor auch... hier ist aber auch ein Outlook2007(32bit) installiert und ich habe eine 32Bit Software, welche MAPI nutzt.

Outlook ist unter den Win10 Einstellungen auch als Standard Mail Programm ausgewählt.

Das mag ein Grund sein... Denn das Problem haben auch andere:

https://www.hrz.uni-bonn.de/de/Nachrichten/warnung

Auch andere Mail Programme können ja über die MAPI Schnittstelle angesprochen werde, wie z.B. Thunderbird

rapante 29. Nov 2017 09:24

AW: MAPI mit windows 10 creator update
 
Hallo,
ich habe hier ein aktuelles Windows 10 bei dem das ohne weiteres funktioniert. Allerdings hatte ich Anfangs auch Probleme auf einigen Hosts und bekam den Fehler 'kein Mapi-Client installiert'.
Nachdem ich die 'libeay32.dll' in meinem Programmverzeichnis aktualisiert hatte, war das Problem verschwunden.

Ich nutze die JCL Mail-Komponente.

Mavarik 29. Nov 2017 09:45

AW: MAPI mit windows 10 creator update
 
Zitat:

Zitat von rapante (Beitrag 1387458)
Hallo,
ich habe hier ein aktuelles Windows 10 bei dem das ohne weiteres funktioniert. Allerdings hatte ich Anfangs auch Probleme auf einigen Hosts und bekam den Fehler 'kein Mapi-Client installiert'.
Nachdem ich die 'libeay32.dll' in meinem Programmverzeichnis aktualisiert hatte, war das Problem verschwunden.

Ich nutze die JCL Mail-Komponente.

Es geht nicht um irgendwie mails zu versenden, sondern über die MAPI Schnittstelle...

Beispiel: $DELPHI\Source\RTL\win\winapi.Mapi.pas

Delphi-Quellcode:
function MapiLogOn(ulUIParam: Cardinal; lpszProfileName: LPSTR;
  lpszPassword: LPSTR; flFlags: FLAGS; ulReserved: Cardinal;
  lplhSession: PLHANDLE): Cardinal;
begin
  InitMapi;
  if @LogOn = nil then
    @LogOn := GetProcAddress(MAPIModule, 'MAPILogon');
  if @LogOn <> nil then
    Result := LogOn(ulUIParam, lpszProfileName, lpszPassword, flFlags,
      ulReserved, lplhSession)
  else Result := 1;
end;

rapante 29. Nov 2017 10:09

AW: MAPI mit windows 10 creator update
 
Zitat:

Zitat von Mavarik (Beitrag 1387461)
Es geht nicht um irgendwie mails zu versenden, sondern über die MAPI Schnittstelle...

Das ist mir schon klar - Die Jedi-Komponente arbeitet mit der MAPI ;)

Mavarik 29. Nov 2017 10:22

AW: MAPI mit windows 10 creator update
 
Das Problem besteht scheinbar nur, wenn man nicht "Windows Live Mail" oder "Outlook" installiert hat...

Also mit einem anderen Mail Programm arbeitet und dann das Windows update installiert hat.

rapante 29. Nov 2017 10:26

AW: MAPI mit windows 10 creator update
 
Wir haben hier nur Groupwise installiert.
Das Problem bestand allerdings nur auf einigen Rechnern.

Mavarik 29. Nov 2017 10:28

AW: MAPI mit windows 10 creator update
 
Zitat:

Zitat von rapante (Beitrag 1387465)
Das Problem bestand allerdings nur auf einigen Rechnern.

Und was ist auf diesen Rechnern anders?

rapante 29. Nov 2017 10:33

AW: MAPI mit windows 10 creator update
 
Genau das ist der springende Punkt - ich habe keine Ahnung :lol:
Ich weiß nur, dass ich nach dem Tausch der dll auch auf den betroffenen Rechnern die MAPI-Schnittstelle wieder nutzen konnte.

Es ist natürlich nicht zufriedenstellend nicht zu wissen warum es funktioniert, aber leider fehlt mir momentan die Zeit tiefer in die Problematik einzusteigen...

ULIK 29. Nov 2017 10:42

AW: MAPI mit windows 10 creator update
 
Auch wenn es bei Dir ja nun genau anders rum ist, daß Outlook funktioniert, vieleicht hift es Dir dennoch:

Ich hab riesige Probleme gehabt, den Mailversand via MAPI Schnittstelle wieder zum Laufen zu bringen, wenn Outlook im Spiel war. War Thunderbird oder so als Mailclient eingetragen, kein Problem, nur Outlook hat gezickt (Hänger, Mailfenster öffnete sich nicht, ...).
Irgendwie scheint es nicht zu funktionieren, wenn der Mailversand in einem eigenen Thread ausgeführt wird. Die Lösung, die bei mir nun funktioniert: die Hauptanwendung startet eine externe Anwendung, die den Mailversand in ihrem Hauptthread ausführt.
Hier dann der Aufruf:
Delphi-Quellcode:
MapiSendMail(0, 0, MapiMessage, MAPI_DIALOG + MAPI_DIALOG_MODELESS + MAPI_LOGON_UI + MAPI_NEW_SESSION, 0);

himitsu 29. Nov 2017 12:02

AW: MAPI mit windows 10 creator update
 
Eigentlich sollte das egal sein, ob Haupttrhead oder nicht.
Aus Sicht des Outlook sind alle deine Threads andere Threads.

Eventuell fehlt nur irgendwas in Richtung MSDN-Library durchsuchenOleInitialize/MSDN-Library durchsuchenCoInitializeEx.

ULIK 29. Nov 2017 12:51

AW: MAPI mit windows 10 creator update
 
Zitat:

Zitat von himitsu (Beitrag 1387479)
Eigentlich sollte das egal sein, ob Haupttrhead oder nicht.
Aus Sicht des Outlook sind alle deine Threads andere Threads.

Ja, da hast Recht. Nur, bis Windows 10 hat das auch alles wunderbar funktioniert. Ab Windows 10 hat der Code dann angefangen, Probleme zu machen, aber eben nur wenn der Default-Mailclient Outlook war. Und mit dem Creators Update ist es dann ganz übel geworden: die API-Funktion MapiSendMail hat keine Fehler gemeldet, aber es ging kein Fenster des Mailclients mehr auf. Oder es ging einmalig auf, wenn man dann bei offenem Fenster wieder in die Hauptanwendung geklickt hat, dann ist Outlook teilweise komplett hängen geblieben, etc.

An OleInitialize liegt's definitiv nicht, das ist korrekt drinnen.

Was es im Endeffekt ist weiß ich leider auch nicht, aber seit das via extra Anwendung und Hauptthread implementiert ist, kamen keine weiteren Kundenanfragen mehr, daß es jetzt nicht mehr gehen würde. Und ich glaub auch nicht, daß es was mit unserem Code zu tun hat: ich hab diverse verschiedene Lösungen zum Mailversand probiert (die auf MapiSendMail basieren) und jede hatte so ihre Probleme.

himitsu 29. Nov 2017 13:41

AW: MAPI mit windows 10 creator update
 
Wir sprechen die MAPI garnicht mehr direkt an.
Wir hatten uns mal eine .NET-Konsolenanwendung gebaut, welche das über Funktionen des .NET-Frameworks anspricht. (Hauptprogramm übergibt die gewünschten Daten als Parameter an die Konsolenanwendung)
Von Problemen mit Win10 haben wir bisher selber noch nichts gehört, bezüglich unserer Umsetzung. (wenn Microsoft bei seinem Office was ändert, dann werden sie hofentlich das .NET auch mit anpassen :stupid:)

Es gab damals schon viele Probleme mit der MAPI, besonders wenn man auch Dateianhänge mitgeben will.
* Windows 32 Bit oder 64 Bit
* as eigene Programm 32 Bit oder 64 Bit
* MS Office in 32 Bit oder 64 Bit (vor allem hier knallte es auf verschiedenen Systemen)
* garkein Office (Thunderbird oder sonstwas ... hier ging es meistens noch)

Harry Stahl 29. Nov 2017 21:42

AW: MAPI mit windows 10 creator update
 
Zitat:

Zitat von Mavarik (Beitrag 1387464)
Das Problem besteht scheinbar nur, wenn man nicht "Windows Live Mail" oder "Outlook" installiert hat...

Also mit einem anderen Mail Programm arbeitet und dann das Windows update installiert hat.

Das kann ich so nicht bestätigen. Ich habe auf einem anderen Entwicklungsrechner, wo das Creators-Update läuft, nur mein eigenes E-Mail-Programm (Safer Mail) installiert (OK, Live Mail ist ja standardmäßig auch drauf, aber das kann man ja nicht vermeiden [man braucht es daher auch nicht zu installieren]).

Mein Mailprogrammen kann ohne Probleme per MAPI von anderen Programmen (z.B. Windows-Explorer) angesprochen werden (auch von meinen eigenen, die i.d.R. MAPI als Vorgabe-Schnittstelle haben, optional aber auch per Mailto Mails an das Mailprogramm übergeben können).

Ich glaube, wenn das ein weiter verbreitetes Problem wäre, hätten sich sicher schon einige Kunden bei mir gemeldet, wenn sie Mails mit meinen Programmen nicht mehr per MAPI an irgendein Mailprogramm übergeben könnten, bzw. wenn mein eigenes Mailprogramm keine Mails mehr von anderen Programmen per MAPI annehmen würde.

Daher die Nachfrage: wenn Du die MapiLogon Funktion aufrufst (bzw. die MapiSendmail Funktion), erhältst Du ja einen Rückgabewert, der ist entweder SUCCESS_SUCCESS oder enthält einen Fehlercode. Welche Fehlernummer erhältst Du da denn als Rückgabe?

Wie machst Du den MapiLogon-Aufruf (bzw. MapiSendMail) konkret?

Mavarik 30. Nov 2017 00:52

AW: MAPI mit windows 10 creator update
 
Zitat:

Zitat von Harry Stahl (Beitrag 1387538)
Daher die Nachfrage: wenn Du die MapiLogon Funktion aufrufst (bzw. die MapiSendmail Funktion), erhältst Du ja einen Rückgabewert, der ist entweder SUCCESS_SUCCESS oder enthält einen Fehlercode. Welche Fehlernummer erhältst Du da denn als Rückgabe?

Wie machst Du den MapiLogon-Aufruf (bzw. MapiSendMail) konkret?

Hallo Harry,

ist doch "logisch" auf meinem Rechner funktioniert alles aber leider nicht bei allen Kunden...

Bei ca. 30-40 Kunden klappt es nach dem Update nicht mehr... bei den andern 1000 habe ich kein feedback, alle anderen haben Windows 8/7.

Ich hab noch kein Testprogramm ausgeliefert um den Fehlercode ab zu fragen... Sondern nur ein "geht nicht mehr"!

Mavarik

ULIK 30. Nov 2017 08:28

AW: MAPI mit windows 10 creator update
 
Lies Dir mal https://msdn.microsoft.com/en-us/lib.../dd941355.aspx durch. Bei 32/64Bit gemischt funktioniert nur noch MAPISendMail.

Könnte das bei Dir bzw. deinen Kunden die Ursache sein?

himitsu 30. Nov 2017 10:45

AW: MAPI mit windows 10 creator update
 
Zitat:

Zitat von ULIK (Beitrag 1387548)
Könnte das bei Dir bzw. deinen Kunden die Ursache sein?

Aus diesem Grund das Kontrukt aus Post #16. Die MAPI-Funktionen im .NET-Framework arbeiten ohne probleme und über die Win32-API knallt es ab und an.

Harry Stahl 23. Sep 2018 12:02

AW: MAPI mit windows 10 creator update
 
Hast Du inzwischen ein WorkAround gefunden?

Gerade stehe ich vor dem gleichen Problem, auf frisches Windows 17134 funktioniert MAPI nicht. Auf einem anderen Rechner, gleiches System, wo aber Outlook installiert ist, funktioniert es.

Bernhard Geyer 23. Sep 2018 14:06

AW: MAPI mit windows 10 creator update
 
Zitat:

Zitat von Harry Stahl (Beitrag 1413923)
Hast Du inzwischen ein WorkAround gefunden?

Gerade stehe ich vor dem gleichen Problem, auf frisches Windows 17134 funktioniert MAPI nicht. Auf einem anderen Rechner, gleiches System, wo aber Outlook installiert ist, funktioniert es.

Wenn kein MAPI-Client installiert ist kann MAPI nicht funktionieren.

Hat nicht MS mit einem der Halbjährlichen Updates den Standard-Mailclient ausgetauscht. Da wird dann beim neuen Client kein MAPI mehr dabei sein.

Harry Stahl 23. Sep 2018 15:02

AW: MAPI mit windows 10 creator update
 
Nach ein wenig Googeln ist es wohl so, dass das "Windows Messaging Subsystem" benötigt wird, um MAPI im System zu verwenden.

Mein E-Mail-Programm bringt ja eine eigene MAPI-IMplementierung u.a. für MAPILogon und MAPISendMail mit und alles ist natürlich ordnungsgemäß in der Registry eingetragen.

Aber ohne das Windows Messaging Subsystem findet wohl die Umleitung durch das System (wenn ein anderes Programm Mapi-Aufrufe tätigt) auf meine MAPI.DLL (SMMAPI.DLL) nicht statt.

Das Windows Messaging subsystem wird installiert, wenn man Outlook installiert (so zu lesen), aber dafür extra Outlook installieren?

Kann man ja auch keinem Anwender zumuten.

Gut, MailTo funktioniert auch so, aber nicht alle Anwendungen unterstützen MailTo, sondern verlassen sich auf MAPI.

Rollo62 24. Sep 2018 06:14

AW: MAPI mit windows 10 creator update
 
Hally Harry,

hilft dir das weiter, aber eine einfache Lösung ist da denke ich auch nicht dabei.

Rollo

mensch72 24. Sep 2018 07:54

AW: MAPI mit windows 10 creator update
 
http://www.winfaq.de/faq_html/Conten...?h=tip2394.htm

Code:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem]
"MAPI"="1"
"MAPIX"="1"
"OLEMessaging"="1"
"CMC"="1"
"MAPIXVER"="1.0.0.1"
"CMCDLLNAME"="mapi.dll"
"CMCDLLNAME32"="mapi32.dll"
statt Outlook installieren reicht auch oft nur dies

Harry Stahl 24. Sep 2018 18:13

AW: MAPI mit windows 10 creator update
 
Oh, ist das alles unerwartet kompliziert:

Habe die Daten mal in die Registry übernommen.

Und siehe da: Es startet Outlook, obwohl (ich dachte, dass) es gar nicht installiert ist.

Es ist auch nicht so installiert, dass man es über die Programmverwaltung deinstallieren könnte, denn da ist gar kein Eintrag zu finden.

Es ist wohl über den Windows-Store als Windows-Store-App auf dem Rechner. Das bedeutet, es sind letztlich nur ganz rudimentäre Teile auf dem Rechner (es startet als 30 Tage Testdemo).

Letztlich funktioniert jetzt MAPI mit dem (ungewollten Outlook), aber mein E-Mail-Programm - obwohl als Standard-Mail-Client in der Registry eingetragen und unter Windows 10 als Stardard-Programm für E-Mail ausgewählt, wird immer noch nicht per MAPI gestartet.

Einfach super, was MS sich da mal wieder zusammenbastelt.

ULIK 1. Mär 2019 09:04

AW: MAPI mit windows 10 creator update
 
Servus,

nachdem Outlook via MAPI anscheinend gerade mal wieder zickt (hier schlägt alle paar Tage eine Meldung von Kunden ein):

Zitat:

Zitat von himitsu (Beitrag 1387495)
Wir hatten uns mal eine .NET-Konsolenanwendung gebaut, welche das über Funktionen des .NET-Frameworks anspricht. (Hauptprogramm übergibt die gewünschten Daten als Parameter an die Konsolenanwendung)
Von Problemen mit Win10 haben wir bisher selber noch nichts gehört, bezüglich unserer Umsetzung. (wenn Microsoft bei seinem Office was ändert, dann werden sie hofentlich das .NET auch mit anpassen :stupid:)

Könntest Du mir bitte mal kurz sagen, welche Klassen ich mir da anschauen muß (hab bisher noch nie wirklich viel mit .Net programmiert) und ob man da was beachten muß? Im Prinzip brauch ich nur eine Lösung, die ein Email-Fenster von Outlook öffnet und eine Datei als Attachment anhängt. Alle anderen Daten muß der Kunde selbst eintragen.


Vielen Dank,
Uli

jsp 1. Mär 2019 10:50

AW: MAPI mit windows 10 creator update
 
Das Problem hatte ich auch...

https://www.woll2woll.com/single-pos...ent-FireMonkey

War für uns die Lösung, und läuft bei uns unter Windows/iOS/Android

Gruss, Jörn

ULIK 1. Mär 2019 11:15

AW: MAPI mit windows 10 creator update
 
Danke! :thumb:

Werd das die Tage gleich mal testen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:43 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