Entwickler-Ecke

Windows API - E-Mail mit Outlook verschicken


Leuchtturm - Sa 11.11.06 17:04
Titel: E-Mail mit Outlook verschicken
Hi,
ich öffne den OutlookExpress so:

Delphi-Quelltext
1:
2:
3:
4:
uses
Shellapi
...
ShellExecute(Application.Handle, 'open''msimn.exe'nilnil, SW_SHOWMAXIMIZED);

so startet aber bloß der OutlookExpress, ich will aber das es bloß das Nachrichtenfenster mit einer E-Mailadresse öffnen lassen.
Was muss ich jetzt anders machen :?:
Leuchtturm


Ramon - Sa 11.11.06 17:09

Ich bin mir da nicht mehr ganz sicher, aber ich meine das hier wäre sowas: http://www.delphi-fundgrube.de/files/mapi.txt


Leuchtturm - Sa 11.11.06 17:10

Danke erstmal, aber geht das nicht noch einfacher :?:


mkinzler - Sa 11.11.06 17:11

Versuch mal die Zieladresse in mailto-noatation als mailurl-Parameter anzugeben


Leuchtturm - Sa 11.11.06 17:13

Das verstehe ich jetzt nicht ganz, kannst du mal bitte beispielcode posten :?:


Ramon - Sa 11.11.06 17:16

Denke er meint sowas:

Delphi-Quelltext
1:
2:
 
ShellExecute(Application.Handle, 'open''mailto:test@test.de'nilnil, SW_SHOWMAXIMIZED);


Leuchtturm - Sa 11.11.06 17:17

Danke das funktioniert :zustimm:


MrSaint - Sa 11.11.06 17:54

user profile iconRamon hat folgendes geschrieben:
Denke er meint sowas:

Delphi-Quelltext
1:
2:
 
ShellExecute(Application.Handle, 'open''mailto:test@test.de'nilnil, SW_SHOWMAXIMIZED);


Die Lösung ist auch wesentlich besser, als OutlookExpress zu starten, weil es soll ja Leute geben, die andere Mail-Programme als Standard verwenden (z.B. das richtige Outlook oder Thunderbird o.ä.). Mit der Variante wird immer das richtige gestartet :)


MrSaint


volvox - So 03.01.10 15:04

Ich habe das gleiche Prblem, benutze Thunderbird und bei mir tut sich mit dem oben geposteten Quelltext garnichts. Mailto scheint überhauptnicht zu funktionieren. ShellApi ist in den uses.

Wo könnte das Problem liegen? Wenn ich die Zeile per Buttonklick ausführe tut sich einfach nix.

Auf PCs mit Outlook gehts ohne Probleme. Warum?

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Ist mailto an Outlook gebunden?


Xentar - So 03.01.10 21:57

Was passiert denn, wenn du auf ner Internetseite auf einen MailTo Link klickst?


volvox - So 03.01.10 22:26

Beim ersten Mal kam ein Auswahlfenster mit welchem Standartprogramm mailto liks geöffnet werden sollen. Danach ging immer wie gewünscht thunderbird auf.

Bei meinem Delphi Programm tut sich allerdings garnichts. (Auf PCs mit Outlook wie gesagt schon)


Nilius - Mo 30.05.11 10:44

Funktioniert alles super soweit. Jetzt nur meine Frage: Die Email Adresse soll aus ner Edit komponente ausgelesen werden. probiert hab ichs jetzt mit


Delphi-Quelltext
1:
ShellExecute(Application.Handle, 'open''mailto:'edit_mail.text , nilnil, SW_SHOWMAXIMIZED);                    



Dass nimmt er so aber leider net^^ kann mir jemand sagen wie ich das umformuliern muss damit des geht? Oder geht die Übergabe einer Variablen mail-addi bei shellexecute nicht?

Lg


/Edit:
hab jetzt nen +hinzugefügt, dann meckert er wegeen string und pansichar, hab hier im forum gesucht und da gefunden PChar(string)



Delphi-Quelltext
1:
ShellExecute(Application.Handle, 'open''mailto:' +PChar(edit_mail.text) , nilnil, SW_SHOWMAXIMIZED);                    


dann sagt er aber trotzdem inkompatible typen string und pchar.
...


Lemmy - Mo 30.05.11 11:42

Hi

user profile iconNilius hat folgendes geschrieben Zum zitierten Posting springen:



Delphi-Quelltext
1:
ShellExecute(Application.Handle, 'open''mailto:' +PChar(edit_mail.text) , nilnil, SW_SHOWMAXIMIZED);                    



wie viele Ur-Alt-Threads gräbst Du noch aus?

so:

Delphi-Quelltext
1:
ShellExecute(Application.Handle, 'open', PChar('mailto:' +edit_mail.text) , nilnil, SW_SHOWMAXIMIZED);                    


aber habe es nicht getestet...


Nilius - Mo 30.05.11 11:54

user profile iconLemmy hat folgendes geschrieben Zum zitierten Posting springen:
Hi

user profile iconNilius hat folgendes geschrieben Zum zitierten Posting springen:



Delphi-Quelltext
1:
ShellExecute(Application.Handle, 'open''mailto:' +PChar(edit_mail.text) , nilnil, SW_SHOWMAXIMIZED);                    



wie viele Ur-Alt-Threads gräbst Du noch aus?


Wäre es dir lieber wenn ich aufhöre die Suche zu benutzen und für alles nen neuen Thread eröffne?

user profile iconLemmy hat folgendes geschrieben Zum zitierten Posting springen:

so:

Delphi-Quelltext
1:
ShellExecute(Application.Handle, 'open', PChar('mailto:' +edit_mail.text) , nilnil, SW_SHOWMAXIMIZED);                    


aber habe es nicht getestet...


Danke funzt so :)


Lemmy - Mo 30.05.11 12:36

user profile iconNilius hat folgendes geschrieben Zum zitierten Posting springen:


Wäre es dir lieber wenn ich aufhöre die Suche zu benutzen und für alles nen neuen Thread eröffne?


Nein, aber wenn Du etwas über die Suche NICHT findest - warum dann einen Uralt-Thread ausgraben, der nicht mal was mit deinem Thema zu tun hat und da eine neue Frage anhängen? Du hast hier ein Problem mit Shellexecute und definitiv nicht mit Outlook...

user profile iconNilius hat folgendes geschrieben Zum zitierten Posting springen:

Danke funzt so :)


Super!

Grüße


Nilius - Mo 30.05.11 13:02

user profile iconLemmy hat folgendes geschrieben Zum zitierten Posting springen:
Nein, aber wenn Du etwas über die Suche NICHT findest - warum dann einen Uralt-Thread ausgraben, der nicht mal was mit deinem Thema zu tun hat und da eine neue Frage anhängen? Du hast hier ein Problem mit Shellexecute und definitiv nicht mit Outlook...

Schau mal über meinen Postings, da geht es um shellexecute, daher hab ich den befehl ja überhaupt erst. Der thread hier ging nämlich darum über shellexecute das office aufzurufen.

Moderiert von user profile iconNarses: Zitat gekürzt.