Entwickler-Ecke

Windows API - Eigener Email Client


David Wippel - Mo 14.04.03 17:16
Titel: Eigener Email Client
Hallo,

ich bastel gerade an einem Email Client für meine Application und stehe vor dem Problem mit meinem Programm auf "mailto:xxxx@xxx" zu reagieren. Mein Programm als Standard Email Client einzutragen ist mir gelungen, aber welche Funktionen/Paramater usw. muss ich bereitstellen damit ich darauf reagieren kann?

Vlt. weis kann mir wer weiterhelfen.

mfg
David Wippel

PS: Ich hoffe ich hab das richtige Unterforum verwendet, ansonsten ein Admin plz verschieben.


Moritz M. - Di 15.04.03 12:32

Folgendes:
Im Regedit gibt es folgenden Schlüssel:
HKEY_CLASSES_ROOT\mailto
Dort gibt es einen Unterordner Namen's shell und dann noch einen mit open
Dort steht unter Standart das programm drin, das aufgerufen wird, wenn du mailto:eingibst. Mit %1,%2,... kannst du die jeweils übergeben Parameter einbauen.


David Wippel - Di 15.04.03 13:28

Und wenn meine Programm bereits läuft?


Moritz M. - Di 15.04.03 14:15

Dann musst du ein extra Programm schreiben, das unsichtbar aufgerufen wird und dann eine Message an das laufende Programm schickt, es solle den Email-Client starten.


David Wippel - Di 15.04.03 14:20

Ok damit sollte ich es hinkriegen.

Danke


Moritz M. - Di 15.04.03 14:28

Bittebitte.


Sarik - Mi 16.04.03 10:29
Titel: Mapi DLL
Hallo Onz

Leider ist das mit dem extra Programmm etwas komplizierter, denn das externe Programm muss eine dll sein.

Outlook verwendet msmapi32.dll
Eudora verwendet EuMAPI32.dll

Hat jemand schon so eine dll entwickelt?
Welche Funktionen der dll ruft Windows mit welchen Parametern auf.
Für informationen wäre ich sehr dankbar.


Moritz M. - Mi 16.04.03 10:51

Nein, warum sollte es denn?
Es ist einfach ein Programm, das geöffnet wird und ne Win-Msg an das andere schickt.


Sarik - Mi 16.04.03 11:12
Titel: E-Mail Client
Hallo Onz,
danke für die Antwort.

Ok ich beschreibe einmal was ich mache.

Damit der E-Mail Client unter den Internetoptionen als Standart Client zur Auswahl bereit steht trage ich in die Registry folgendes ein:

[HKEY_LOCAL_MACHINE] Software Clients Mail <Eiegener Client>
und dort dann die Unterordner Protocolls und shell. (mit ihren weiteren Einträgen, welche alle auf die mailclient.exe zeigen)

Dadurch wird nach der Auswahl HKEY_CLASSES_ROOT\mailto automatisch und richtig gesetzt.

Wieder zurück zu [HKEY_LOCAL_MACHINE] Software Clients Mail <Eiegener Client> wo ein Eintrag "DLLPath" Existieren sollte.

Existiert dieser nicht, dann kommt die Fehlermeldung:
"Enteweder existiert kein standart E-Mail Client, oder ....."

Wenn man alle Registry Einträge auf den eigenen E-Mail Client verlinkt und jedoch die Eudora bzw Mozilla Dll angibt, wird daraufhin Eudora bzw Mozilla gestartet.

Tja so weit bin ich bis jetzt bekommen...

Mir fehlt eine dll, welche mapi kommandos versteht und den e-mail client aufruft. Alle Versuche ohne diese dll auszukommen, wurden mit der oben erwähnten Fehlermeldung von Windows vereitelt.

>Nein, warum sollte es denn?
>Es ist einfach ein Programm, das geöffnet wird und ne Win-Msg an das >andere schickt.

Bisher haben alle Versuche eine exe im DLL Path anzugeben zu nichts geführt. Gibt man sie überhaupt nicht an, kann man den oben beschriebenen Fehler sehen.


Moritz M. - Mi 16.04.03 11:46

Hmmm... keine Ahnung. Geh mal ins Forum von heise.de , da wird die Frage warscheinlich beantwortet(nichts gegen delphi-forum)


Sarik - Do 17.04.03 16:23
Titel: Danke
Danke für die Antwort