Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Standard Mail Client (https://www.delphipraxis.net/217254-standard-mail-client.html)

Willie1 30. Mai 2025 11:05

Betriebssystem: Win 11

Standard Mail Client
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo Community,
ihr hattet mir mal gezeigt, wie einfach man programmieren kann, eine Mail aus einem Programm heraus zu verschicken. Das klappt unter Windows 10 prima aber unter Win 11 passiert nichts. Ich habe auf beiden Rechnern Thunderbird installiert. Seht euch die Screenshots an. In den Win-Einstellungen lässt sich Thunderbird nicht auswählen. Es öffnet sich nur der Microsoft-Store.

Weiß eine/r von euch, wie das geht. Microsoft schweigt sich aus. Ihr könnt es ja auch mal ausprobieren, wie es bei euch geht. Ich will nicht Outlook benutzen.

Gruß Willie.

Olli73 30. Mai 2025 11:18

AW: Standard Mail Client
 
Einstellungen -> Apps -> Standard-Apps -> Standardwerte nach Linktyp auswählen (ganz unten) -> "MailTo" ändern

Willie1 30. Mai 2025 16:46

AW: Standard Mail Client
 
Zitat:

Zitat von Olli73 (Beitrag 1549124)
Einstellungen -> Apps -> Standard-Apps -> Standardwerte nach Linktyp auswählen (ganz unten) -> "MailTo" ändern

Danke für deine schnelle Antwort. Hat mir auch eingeleuchtet. Dann bin ich genau so vorgegangen. Beim Thunderbird habe ich es nochmal bestätigt und einen Neustart gemacht. Geholfen hat es leider nicht. Es passiert nichts. Willie.

jaenicke 31. Mai 2025 08:17

AW: Standard Mail Client
 
Ich habe es mal ausprobiert:
  • Thunderbird mit Adminrechten gestartet
  • in den Einstellungen unter Systemintegration "Jetzt prüfen.." geklickt
  • Häkchen bei E-Mail gesetzt
  • "Als Standard festlegen" geklickt
  • Windows-Taste + I / Einstellungen aufrufen
  • Apps
  • Standard-Apps
  • Scrollen zu Thunderbird und aufklappen
  • MailTo
  • Thunderbird ausgewählt
  • "Standard auswählen" geklickt
Das hat sofort funktioniert. Wenn ich Win + R drücke und dort mailto:test@example.com eingebe, wird nun Thunderbirds Fenster für neue Mails angezeigt.

Willie1 31. Mai 2025 18:08

AW: Standard Mail Client
 
Hallo Sebastian,
ich bin auch vorher schon genau so vor gegangen. Mit Mailto: im Ausführen-Fenster klappt es! So wie von dir beschrieben.

Um in einem Programm eine Mail zu verschicken, kenne ich zwei Möglichkeiten.
  1. Mit ShellExecute(...'MailTo'...)
  2. Mit TActionList
Mit der zweiten Methode kann man auch eine Datei z.B. ein Bild anhängen. Genau das will ich.
Mit Windows 10 geht das mit Windows 11 nicht. Metode 1 funktioniert auch unter Win 11.

Willie.

Der Tipp mit TActionList stammt von Uwe Raabe (wenig Quelltext!).

jaenicke 31. Mai 2025 22:02

AW: Standard Mail Client
 
Egal ob direkt mit MAPI oder mit TSendMail als Action (das ebenfalls MAPI verwendet, falls verfügbar, und ansonsten mailto ohne Attachments), bei mir funktioniert es problemlos. Und ich hatte Thunderbird vorher nicht drauf, sondern habe es nur für alle Benutzer installiert und ansonsten nur gemacht, was ich geschrieben habe.

Willie1 1. Jun 2025 15:41

AW: Standard Mail Client
 
Sorry, wenn ich so hartnäckig bin. Ich bin genau, wie von dir beschrieben, vorgegangen. Wenn ich im Explorer ein Bild auswähle, Kontextmenü: Senden an/Mailempfänger anklicke, öffnet sich Thunderbird. Alles okay. Aber wenn ich die gleiche Option aus meinem Programm benutze, passiert auf dem neuen PC nichts. An meinen Programmierkünsten kann es nicht liegen, weil es auf dem alten PC funktioniert. Ich kann den Quelltext hier veröffentlichen, ist nicht lang.

Willie.

Bernhard Geyer 1. Jun 2025 17:33

AW: Standard Mail Client
 
Läut die Anwendung evtl. mit höheren Rechten (z.B. eigener Installer mit "runas").
In diesem Elevated-Zustand sind die eingerichtete MAPI-Konten nicht verfügbar.

taveuni 2. Jun 2025 07:54

AW: Standard Mail Client
 
Hast auf beiden Systemen (Win10 / Win11) die gleiche Thunderbird Version installiert (32/64bit)? Vielleicht hat es damit zu tun dass Du aus einer 32bit Applikation den 64bit Thunderbird anstossen willst.

Willie1 2. Jun 2025 16:44

AW: Standard Mail Client
 
Delphi-Quellcode:
unit SendMail_Main;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.Actions, Vcl.ActnList,
  Vcl.ExtActns, Vcl.PlatformDefaultStyleActnCtrls, Vcl.ActnMan, Vcl.StdCtrls,
  Vcl.ExtDlgs, WinAPI.Mapi;

type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenPictureDialog1: TOpenPictureDialog;
    ActionList1: TActionList;
    InternetSendMail2: TSendMail;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then begin
    InternetSendMail2.Text.Add('Hallo Test');
    InternetSendMail2.Attachments.add(OpenPictureDialog1.FileName);
    InternetSendMail2.Execute;
  end;

end;

end.
Mein Testprogramm. Es stammt aus der Delphi-Hilfe.
Ja, auf dem neuen Rechner habe ich Thunderbird 64-Bit installiert auf dem alten 32-Bit. Kann das damit zu tun haben?
Willie.

jaenicke 3. Jun 2025 05:38

AW: Standard Mail Client
 
Zitat:

Zitat von Willie1 (Beitrag 1549166)
Ja, auf dem neuen Rechner habe ich Thunderbird 64-Bit installiert auf dem alten 32-Bit. Kann das damit zu tun haben?
Willie.

MAPI ist COM-basiert. Wie auch beim Laden von DLLs müssen Client und Server beide 32-Bit sein oder beide 64-Bit. Es gibt dafür zwar auch Lösungen, mit denen man das umgehen kann, aber die sind erstens komplizierter und zweitens muss man diese explizit implementieren.

Kannst du dein Programm nicht einfach für 64-Bit kompilieren?

Rollo62 3. Jun 2025 06:45

AW: Standard Mail Client
 
...

Willie1 3. Jun 2025 13:12

AW: Standard Mail Client
 
Zitat:

Zitat von jaenicke (Beitrag 1549169)
Kannst du dein Programm nicht einfach für 64-Bit kompilieren?

Ja, genau das habe ich unternommen mit dem Testprogramm. Es tut sich nichts. W.

fred42 3. Jun 2025 17:23

AW: Standard Mail Client
 
Hallo,

Ich habe in der Registry unter

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Win dows Messaging Subsystem

die Zeichenfolge 'MAPI' hinzugefügt und als Wert 1 gesetzt.

das gleiche unter

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\M icrosoft\Windows Messaging Subsystem

danach bekomme ich zumindestens OUTLOOK(32Bit) (laut Taskmanager) gestartet, aber kein THUNDERBIRD.

Ohne diese Einträge ist auch nichts passiert. Thunderbird wie beschrieben eingerichtet.


Ich hab's so probiert.

Delphi-Quellcode:
JclMapi.JclSimpleBringUpSendMailDialog('', '', '');
und

Delphi-Quellcode:
InternetSendMail1.Execute;


es fehlten wohl noch folgende Einträge
Delphi-Quellcode:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Clients\Mail]
@="Mozilla Thunderbird"

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail]
@="Mozilla Thunderbird"
die Einträge als *.reg Datei speichern und registrieren.

Gruß

Willie1 6. Jun 2025 09:53

AW: Standard Mail Client
 
Zitat:

Zitat von fred42 (Beitrag 1549210)
Delphi-Quellcode:
JclMapi.JclSimpleBringUpSendMailDialog('', '', '');
und

Delphi-Quellcode:
InternetSendMail1.Execute;


es fehlten wohl noch folgende Einträge
Delphi-Quellcode:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Clients\Mail]
@="Mozilla Thunderbird"

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail]
@="Mozilla Thunderbird"
die Einträge als *.reg Datei speichern und registrieren.

Gruß

Danke für den Tipp. Es fällt mir ein, dass ich bei Windows 10 auch die Registry anpassen musste, ehe es klappte.

Es liegt wirklich an Win 11. Das mit Delphi 12 erstellte Test-Prg lief mit Windows 10 in 32- und 64-Bit Version wie gewünscht! Leider funktioniert Outlook nur noch mit der Cloud und das will ich nicht.Microsoft will seinen Cloud-Speicher verkaufen.

Gruß Willie.

jaenicke 6. Jun 2025 11:24

AW: Standard Mail Client
 
Zitat:

Zitat von Willie1 (Beitrag 1549256)
Es liegt wirklich an Win 11.

Da muss irgendetwas anders eingestellt sein. Bei mir geht es ja z.B. auch mit Windows 11. Ich habe aber keine Idee, was konkret falsch sein könnte.

Zitat:

Zitat von Willie1 (Beitrag 1549256)
Leider funktioniert Outlook nur noch mit der Cloud und das will ich nicht.

Wenn man die 365 Version verwendet, ja. Die klassische Version läuft mit anderen Anbietern soweit ich weiß auch mit der aktuellsten Version ohne die Microsoft Cloud.

Da Microsoft ohnehin mein primärer Mailanbieter ist, stört mich das aber auch nicht.

Zitat:

Zitat von Willie1 (Beitrag 1549256)
Microsoft will seinen Cloud-Speicher verkaufen.

Das will jeder Anbieter, entweder gegen Benutzerdaten oder gegen Geld. Bei Microsoft ist der Speicher im Vergleich zu anderen ziemlich günstig.

Raible 6. Jun 2025 11:37

AW: Standard Mail Client
 
ich verwende nachfolgende Anleitung.


Prüfen ob
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem"
MAPI REG_SZ = 1

auch für
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft \Windows Messaging Subsystem"


prüfen ob
"HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail"
Standardschlüssel = <Name des gewünschten Mailprogramms> (einer der Untereinträge)


"HKEY_CURRENT_USER\SOFTWARE\Clients\Mail"
könnte auch einen Eintrag enthalten. Dieser Überschreibt HKEY_LOCAL_MACHINE


siehe auch
"https://blog.stueber.de/posts/troubleshooting-smapi/"

RSF 6. Jun 2025 18:46

AW: Standard Mail Client
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich versende Mails mit dieser Unit über Standard Client Thunderbird (Mapi).
Geht bei mir unter Win 11 problemlos.

Willie1 6. Jun 2025 18:55

AW: Standard Mail Client
 
Hallo.
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail
auf dem alten Rechner gibt es nur diesen Schlüssel. Dort steht unter Standard Mozilla Thunderbird. Unterschlüssel und andere Schlüssel zu Mail/Messaging gibt es nicht.

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail
Auf dem neuen steht hier Standard Outlook.com und drei Unterschlüssel Hotmail, Outlook und Mozilla Thunderbird. Ich habe Outlook durch Mozilla Thunderbird ersetzt bringt aber nichts.

Hallo Sebastian: mein Testprogramm funktioniert wirklich bei dir MIT Dateianhang?

RSF, ich wollte die Lösung von Emba benutzen. Deinen Source muss ich mir ansehen. Jetzt mache ich Schluss! (das bezieht sich auf die abendliche Stunde, an euren Antworten bin ich natürlich interessiert)

Willie.

blawen 7. Jun 2025 15:00

AW: Standard Mail Client
 
Zitat:

Zitat von jaenicke (Beitrag 1549260)
Zitat:

Zitat von Willie1 (Beitrag 1549256)
Leider funktioniert Outlook nur noch mit der Cloud und das will ich nicht.

Wenn man die 365 Version verwendet, ja. Die klassische Version läuft mit anderen Anbietern soweit ich weiß auch mit der aktuellsten Version ohne die Microsoft Cloud.

Da Microsoft ohnehin mein primärer Mailanbieter ist, stört mich das aber auch nicht.

Zitat:

Zitat von Willie1 (Beitrag 1549256)
Microsoft will seinen Cloud-Speicher verkaufen.

Das will jeder Anbieter, entweder gegen Benutzerdaten oder gegen Geld. Bei Microsoft ist der Speicher im Vergleich zu anderen ziemlich günstig.

Ich habe auch die 365 Version, benutze aber meinen eigenen Mailserver. Zwingend ist es also nicht.


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