email applikation starten
email applikation starten unabhängig um welche es sich handelt...
hallo leute,
ich möchte gerne aus meinen programm aus die email-applikatin starten, die als default-email-applikation auf dem rechner installiert ist. ähnlich wie ein doppelklick auf eine html-seite und schon geht der default-browser auf oder ähnlich wie ein link auf mailto...
gruß und danke
hallo leute,
ich möchte gerne aus meinen programm aus die email-applikatin starten, die als default-email-applikation auf dem rechner installiert ist. ähnlich wie ein doppelklick auf eine html-seite und schon geht der default-browser auf oder ähnlich wie ein link auf mailto...
gruß und danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 18317
Url: https://administrator.de/forum/email-applikation-starten-18317.html
Ausgedruckt am: 20.02.2025 um 01:02 Uhr
10 Kommentare
Neuester Kommentar

Hallo,
die Email-Application, die unter Windows Standard ist, ist unter dem Protokoll "mailto:" registriert. In der Registry:
HKEY_CLASSES_ROOT\mailto
Was Du von deinem Programm aus machen musst, ist also entweder
1) ein Systemaufruf der Art: "mailto://$email-adresse", damit Windows die Anwendung aufruft, oder
2) Du lässt Dein Programm die Registry auslesen!
Unter: <v>HKEY_CLASSES_ROOT\mailto\shell\open\command</i> ist im Standardwert dieses Unterschlüssels der Pfad zur Standard-Anwendung für Emails hinterlegt. Diesen Pfad könntest Du einlesen, als Variable speichern und Dein Programm dann selbst das Email-Programm aufrufen lassen.
Welche Programmiersprache nutzt Du denn?
Gruß,
Tim
die Email-Application, die unter Windows Standard ist, ist unter dem Protokoll "mailto:" registriert. In der Registry:
HKEY_CLASSES_ROOT\mailto
Was Du von deinem Programm aus machen musst, ist also entweder
1) ein Systemaufruf der Art: "mailto://$email-adresse", damit Windows die Anwendung aufruft, oder
2) Du lässt Dein Programm die Registry auslesen!
Unter: <v>HKEY_CLASSES_ROOT\mailto\shell\open\command</i> ist im Standardwert dieses Unterschlüssels der Pfad zur Standard-Anwendung für Emails hinterlegt. Diesen Pfad könntest Du einlesen, als Variable speichern und Dein Programm dann selbst das Email-Programm aufrufen lassen.
Welche Programmiersprache nutzt Du denn?
Gruß,
Tim

Hallo,
ja, ich würde auch Windows den Job machen lassen...
"$email-adresse" im oberen Beispiel soll natürlich nur die Variable sein, in der Du die zu nutzende Emailadresse im Aufruf gespeichert hast. Das $-Zeichen stammt aus einer anderen Sprache
Gruß,
Tim
ja, ich würde auch Windows den Job machen lassen...
"$email-adresse" im oberen Beispiel soll natürlich nur die Variable sein, in der Du die zu nutzende Emailadresse im Aufruf gespeichert hast. Das $-Zeichen stammt aus einer anderen Sprache
Gruß,
Tim

Hi,
falls du in C# die ShellApi einbinden kannst, was ja eigentlich gehen sollte, versuch mal das
folgende Delphi-Beispiel umzubauen:
strEmail := 'user@host.com';
strSubject := 'Your Subject';
strBody := 'Your Message Text';
Param := 'mailto:' + strEmail + '?subject=' + strSubject +
'&Body=' + strBody;
ShellExecute(Form1.Handle, 'open', PChar(Param), nil, nil, SW_SHOWNORMAL);
Psycho
falls du in C# die ShellApi einbinden kannst, was ja eigentlich gehen sollte, versuch mal das
folgende Delphi-Beispiel umzubauen:
strEmail := 'user@host.com';
strSubject := 'Your Subject';
strBody := 'Your Message Text';
Param := 'mailto:' + strEmail + '?subject=' + strSubject +
'&Body=' + strBody;
ShellExecute(Form1.Handle, 'open', PChar(Param), nil, nil, SW_SHOWNORMAL);
Psycho

Hi,
da mußt du es mal über MAPI versuchen
Psycho
da mußt du es mal über MAPI versuchen
Psycho

Hallo,
das mailto-Protokoll kennt keine Möglichkeit, Attachments mit zu übergeben (Parameter nur "cc","bc","subject" und "body"). Dahingehend kannst Du die Sache mit dem Systemaufruf also vergessen!
Wenn das Mailprogramm, das Du verwendest, eigene Kommandozeilenargumente kennt, um den Emailversand (eventuell mit Anhängen eines Attchments über Kommandozeile) zu automatisieren, dann würde ich auf meinen ursprünglichen zweiten Tipp verweisen, um den Pfad zum Standard-Mailclient aus der Registry zu lesen.
Dritte Möglichkeit: Forsche mal nach, ob es nicht für c irgendwelche SMTP Bibliotheken zum Einbinden in Dein Programm gibt, die unter anderem auch das Einbinden von Attachments vereinfachen.
Gruß,
Tim
das mailto-Protokoll kennt keine Möglichkeit, Attachments mit zu übergeben (Parameter nur "cc","bc","subject" und "body"). Dahingehend kannst Du die Sache mit dem Systemaufruf also vergessen!
Wenn das Mailprogramm, das Du verwendest, eigene Kommandozeilenargumente kennt, um den Emailversand (eventuell mit Anhängen eines Attchments über Kommandozeile) zu automatisieren, dann würde ich auf meinen ursprünglichen zweiten Tipp verweisen, um den Pfad zum Standard-Mailclient aus der Registry zu lesen.
Dritte Möglichkeit: Forsche mal nach, ob es nicht für c irgendwelche SMTP Bibliotheken zum Einbinden in Dein Programm gibt, die unter anderem auch das Einbinden von Attachments vereinfachen.
Gruß,
Tim
