AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

MAPI Mailversand mit TB und Delphi 7

Ein Thema von zongo-joe · begonnen am 19. Feb 2025 · letzter Beitrag vom 20. Feb 2025
Antwort Antwort
zongo-joe

Registriert seit: 8. Jun 2007
13 Beiträge
 
Delphi 7 Professional
 
#1

AW: MAPI Mailversand mit TB und Delphi 7

  Alt 19. Feb 2025, 20:34
Hallo Jaenicke,
erstmal vielen Dank, der Fehlercode ist 0 (also kein fehler IMHO)?
Wie geht das denn MAPISendMailW (sorry für dumme Fragen)..

Ich habe die mapi32.dll gefunden, ins Programmverzeichnis gestellt und mit
MapiSendMailW(0, 0, mMessage, MAPI_LOGON_UI or MAPI_NEW_SESSION, 0); external mapidllname; stdcall; (mit mapidllname='mapi32.dll')
klappt das nicht (MapiSendMailW unbekannt).
Bin darin offen gestanden nicht so firm.
Gibts vllt noch ein andere Möglichkeit?
BG
Zongo

Geändert von zongo-joe (19. Feb 2025 um 21:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#2

AW: MAPI Mailversand mit TB und Delphi 7

  Alt 19. Feb 2025, 23:13
klappt das nicht (MapiSendMailW unbekannt).
Ein wenig Recherche zeigt: Leider ist die Funktion eine Fata Morgana. Microsoft entwickelt Mapi ja nicht mehr weiter, so dass die Funktion nur in der Doku und in der Headerdatei existiert, aber gar nicht implementiert ist.

Unter Windows 11 bekomme ich aber eine 1 zurück. Bist du sicher, dass das bei dir eine 0 ist?
Das lag bei mir daran, dass Mapi dort standardmäßig nicht aktiviert ist. Du musst daher den Wert MAPI in der Registry als Zeichenfolge anlegen und auf 1 setzen:
Code:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows Messaging Subsystem
Für 64-Bit Anwendungen muss der Wert entsprechend direkt unter Software statt unter WOW6432Node gesetzt werden. Daraufhin funktionierte es mit der normalen Ansiversion.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
zongo-joe

Registriert seit: 8. Jun 2007
13 Beiträge
 
Delphi 7 Professional
 
#3

AW: MAPI Mailversand mit TB und Delphi 7

  Alt 20. Feb 2025, 08:18
0:13 - WOW, vielen Dank !

also die Schlüssel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem\MAPI="1"
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\ Windows Messaging Subsystem\MAPI="1"
hatte ich schon gesetzt.

Aber wie kann ich das für meine Software machen? Ich habe ja nur eine .exe die ich direkt ausführe, ohne dass eine Installation / Win-Registrierung erfolgt, wie eine portable GUI. Die hat ja keine Reg-Eintrag.

Ich habe auch überöegt, ob es an der Firewall liegen kann, ich habe ja nur den normalen Windows-Defender und die Win11 Firewall, da habe ich aber nichts an Einstellungen gefunden.
Dabnke & Grüße,
Zongo
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
323 Beiträge
 
Delphi 12 Athens
 
#4

AW: MAPI Mailversand mit TB und Delphi 7

  Alt 20. Feb 2025, 08:19
Ich habe gerade mal geguckt, was ich in einem alten Delphi-7-Programm diesbezüglich drin habe, und bei mir sieht das so aus:

Ich habe folgende Variablen:

Code:
SM: TFNMapiSendMail;
MAPIModule: HModule;
Ergebnis : Cardinal;
MapiMessage : TMapiMessage;
...
...
...
Der Aufruf sieht dann folgendermaßen aus:

Code:
MAPIModule := LoadLibrary(PChar(MAPIDLL));
if MAPIModule <> 0 then
  begin
    try
      @SM := GetProcAddress(MAPIModule, 'MAPISendMail');
      if @SM<>nil
        then Ergebnis := SM(0, 0, MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI, 0);
  ...
  ...
  ...
Ich kann keine Erklärungen zum Warum und Wieso abgeben, da das schon seit Ewigkeiten so ist und größtenteils ohne Probleme funktioniert hat.
  Mit Zitat antworten Zitat
zongo-joe

Registriert seit: 8. Jun 2007
13 Beiträge
 
Delphi 7 Professional
 
#5

AW: MAPI Mailversand mit TB und Delphi 7

  Alt 20. Feb 2025, 08:41
Vielen Dank, aber damit wird nur eine Mail in Thunderbird geöffnet, die ich dann noch manuell abschicken muss. Könnte das an einer Einstellung im TB liegen?

Oder wisst Ihr noch eine andere Möglichkeit ausser MAPI?

Ich habe jetzt das Standard-Maulprogramm in Win11 in MS-Mail geändert, aber beim MAPI Aufruf wird immer noch der TB geöffnet ... dann sollte doch MS Mail kommen? ich blicke hier echt nicht mehr durch.

Geändert von zongo-joe (20. Feb 2025 um 08:50 Uhr)
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
323 Beiträge
 
Delphi 12 Athens
 
#6

AW: MAPI Mailversand mit TB und Delphi 7

  Alt 20. Feb 2025, 08:50
Vielen Dank, aber damit wird nur eine Mail in Thunderbird geöffnet, die ich dann noch manuell abschicken muss. Könnte das an einer Einstellung im TB liegen?

Oder wisst Ihr noch eine andere Möglichkeit ausser MAPI?
Hm, wahrscheinlich eher an den Flags in der Funktion.
Ich habe dort "MAPI_DIALOG or MAPI_LOGON_UI" verwendet, weil ich an dieser Stelle eben genau will, dass der EMail-Client aufgeht und man die Mail selbst abschicken muss.

Du willst die Mail direkt verschicken? Da kann ich im Bezug auf MAPI leider nicht viel zu sagen, da ich diesen Fall direkt über SMTP und IMAP umsetze. Das wäre übrigens auch eine alternative Möglichkeit.
Ich bin mir nicht ganz sicher, wie das in Delphi 7 damit aussieht, aber die Indy SMTP und IMAP Komponenten kann man dafür wunderbar nehmen.
  Mit Zitat antworten Zitat
zongo-joe

Registriert seit: 8. Jun 2007
13 Beiträge
 
Delphi 7 Professional
 
#7

AW: MAPI Mailversand mit TB und Delphi 7

  Alt 20. Feb 2025, 09:11
Jetzt gehts !

Ich habe das Flag MAPI_DIALOG entfernt und er macht was er soll. Sowohl mit TB als Standard app als auch mitz Mail als Standard-APP. Keine Ahnung wieso, aber es klappt.

Ich danke euch beiden ganz herzlich für eure Mühe!

BG
Zongo
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
625 Beiträge
 
Delphi XE6 Enterprise
 
#8

AW: MAPI Mailversand mit TB und Delphi 7

  Alt 20. Feb 2025, 10:49
Du willst die Mail direkt verschicken? Da kann ich im Bezug auf MAPI leider nicht viel zu sagen, da ich diesen Fall direkt über SMTP und IMAP umsetze. Das wäre übrigens auch eine alternative Möglichkeit.
Inwiefern wird IMAP für das Senden von Mails verwendet?
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
323 Beiträge
 
Delphi 12 Athens
 
#9

AW: MAPI Mailversand mit TB und Delphi 7

  Alt 20. Feb 2025, 12:04
Du willst die Mail direkt verschicken? Da kann ich im Bezug auf MAPI leider nicht viel zu sagen, da ich diesen Fall direkt über SMTP und IMAP umsetze. Das wäre übrigens auch eine alternative Möglichkeit.
Inwiefern wird IMAP für das Senden von Mails verwendet?
Nicht fürs Senden direkt, sondern um dafür zu sorgen, dass die versendete Nachricht im Gesendet-Ordner des IMAP-Servers abgelegt wird.
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:33 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