Entwickler-Ecke

Internet / Netzwerk - Aus Delphi heraus den Standard-Maileditor öffnen


fishhed - Di 09.01.07 18:58
Titel: Aus Delphi heraus den Standard-Maileditor öffnen
Hallo zusammen,

gibt es einen Delphi-Befehl mit dem man sein E-Mail-Programm öffnen kann?

Ich stelle mir das ungefähr so vor:

- Ich schreibe eine Mailadresse in ein Textfeld und drücke auf einen Button 'OK'.
- Das Standard-Mail-Programm öffnet sich und darin das Fenster für eine neue Mail.
- In die Mail ist als Empfänger die Mailadresse und ein vorher definierter Betreff und Mail-Text eingetragen.
- Ich drücke dann nur noch auf senden und los geht es!

Gibt es sowas? Wenn man im Browser auf mailto:mail@xy.de klicke geht es ja.

Vielen Dank für eure Hilfe!

Der Marcel


Marc. - Di 09.01.07 19:04

Hi Marcel,
mit dem Befehl Shellexecute kannst du Anwendungen aufrufen.
Speziell zu deinem Problem:

Delphi-Quelltext
1:
2:
  ShellExecute(Application.Handle, 'open',
    PChar('mailto:emailadresse@web.de?subject=Betreff&body=VordefinierterText'), nilnil, sw_ShowNormal);

Vorher musst du allerdings noch die Unit ShellApi in dein Projekt miteinbinden.

grüße Marc


Gausi - Di 09.01.07 19:06


Delphi-Quelltext
1:
ShellExecute(Handle, 'open''mailto:mail@xy.de'nilnil, SW_SHOWNORMAL);                    


Ob und wenn ja wie man einfach nen Betreff und Text vorgeben kann, weiß ich nicht.

Edit: Hab ich wirklich 2 Minuten fürs Tippen gebraucht...:roll:


fishhed - Di 09.01.07 19:10

Cool, genau so habe ich mir das vorgestellt!

Weisst du auch wie ich Zeilenumbrüche in die E-Mail bekomme?


Marc. - Di 09.01.07 19:12

Ja, mit #10#13.
Bsp: text := 'a'+#10#13+'b';
#10 repräsentiert das Zeilenende, #13 Enter/neue zeile.
oder so in der Art. :)


fishhed - Di 09.01.07 19:26

Hmmm, mit +#13+#10 hatte ich es auch schon versucht. Das klappt aber leider nicht. Die Mail sollte im Textformat sein.


.50AE - Di 09.01.07 19:29

Hoi,

versuchs mal mit ...+sLineBreak+...

MfG
50ae


fishhed - Di 09.01.07 19:39

user profile icon.50AE hat folgendes geschrieben:
Hoi,

versuchs mal mit ...+sLineBreak+...



Das funktioniert leider auch nicht. Ich bekomme keine Zeilenumbrüche.


Christian S. - Di 09.01.07 19:48

Du musst die entsprechende URL-Enkodierung verwenden:


Delphi-Quelltext
1:
2:
ShellExecute(Application.Handle, 'open',
    PChar('mailto:emailadresse@web.de?subject=Betreff&body=Vordefinierter%0D%0AText'), nilnil, sw_ShowNormal);


fishhed - Di 09.01.07 19:53

Allerbesten Dank Christian! Das war die richtige Lösung!!!!