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/)
-   -   Shellexecute mailto: mit Vor und Nachname (https://www.delphipraxis.net/210615-shellexecute-mailto-mit-vor-und-nachname.html)

taveuni 18. Mai 2022 08:47

Shellexecute mailto: mit Vor und Nachname
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo zusammen,
Via Shellexecute kann ja einfach mailto: aufgerufen werden und das Standardprogramm wird geöffnet. So weit so gut. Wie kann ich mailto mit Vor- und Nachname aufrufen?
Beispiel: Im Browser gebe ich ein "mailto: Vorname Nachname <vorname.nachname@gmail.com>" Enter. Dann öffnet in meinem Fall Thunderbird mit der gewünschten Darstellung.
Wenn ich das gleiche mit Shellexecute mache wird nur die eMailadresse übergeben. Siehe Screenshots.
Was macht der Browser (hier Firefox) anders? Wie kann ich es lösen? Hat da jemand Erfahrung?
Danke

Edelfix 18. Mai 2022 11:41

AW: Shellexecute mailto: mit Vor und Nachname
 
Könnte eventuell hilfreich sein:

https://www.thunderbird-mail.de/lexi...n-thunderbird/

himitsu 18. Mai 2022 12:02

AW: Shellexecute mailto: mit Vor und Nachname
 
Der Browser kümmert sich z.B. um ein URL-Encoding, z.B. werden da Leerzeichen durch %20 ersetzt.

CMD:
Delphi-Quellcode:
start mailto:max%20mustermann%20^<max@muster.de^>

also für ShellExecute vermutlich
Delphi-Quellcode:
'mailto:max%20mustermann%20<max@muster.de>'
oder notfalls auch
Delphi-Quellcode:
'cmd.exe', '/c start mailto:max%20mustermann%20^<max@muster.de^>'
(hatte jetzt keine Lust Delphi zu starten)

taveuni 18. Mai 2022 13:28

AW: Shellexecute mailto: mit Vor und Nachname
 
Danke euch Beiden,
So funktionierts:
Delphi-Quellcode:
    lb.Url:= Format('mailto:%s %s <%s>',[Contact.FirstName, Contact.Name, Contact.MailAddress]);
    ShellExecute(Self.Handle,
                 nil,
                 PChar(lb.Url),
                 nil,
                 nil,
                 SW_NORMAL);
An was es schlussendlich lag nach X Versuchen - keine Ahnung. Möglicherweise mag er das // nach mailto: nicht welches ich Anfangs drin hatte. Oder/und vielleicht hatte ich ein Leerzeichen am Anfang (vor mailto). Auf jeden Fall klappts so.
Danke

KodeZwerg 18. Mai 2022 14:18

AW: Shellexecute mailto: mit Vor und Nachname
 
//entfernt da überflüssig


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