email client mit c++ öffnen



  • Hallo,

    ich möchte aus meiner c++ Applikation den default email-client öffnen, mit einer vorbereiteten Nachricht, welche der Benutzer nötigenfalls vor dem abschicken noch anpassen kann.

    Kennt da jemand eine lib, die das kann, oder weiss gerade wie das geht?

    Danke,

    boskop



  • 1. Welches os?
    2. Welcher mail-client?

    bsp

    windoof

    in der reg. steht der pfad zum mailclient. diese exe dann öffnen und als parameter den emfänger, nachricht usw mitgeben. ich weiss nicht ob das mit jedem client geht ( wegen nachricht )

    eventl. bei ff. wenn nicht kannste selber schreiben 😉



  • ja das ganze wäre für windows und die eingesetzte clients wären hauptsächlich Outlook und Lotus Notes.



  • also mit

    ShellExecute

    kannste nur den betreff noch mitgeben, aber noch den gesamten mailtext, hmmm

    ausserdem ist das ein bissle im falschen unterforum, denn das hat nicht mit Standard-C++ zu run 😉 ( btw )

    ne musst googeln und in ruhe suchen, leider kann ich dir da auch nicht mehr helfen 😞



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Danke für die Hilfe, das mit den parametern läuft bestens, jetzt sollte ich noch wissen, wie ich den Default email client aus der Registry hole, dann ist perfekt.



  • ist das nicht ausreichend

    ShellExecute(NULL, "open", "mailto:irgendwas@server.com", NULL, NULL, SW_SHOWNORMAL);
    


  • boskop schrieb:

    Danke für die Hilfe, das mit den parametern läuft bestens, jetzt sollte ich noch wissen, wie ich den Default email client aus der Registry hole, dann ist perfekt.

    HKLM\Software\Clients\Mail



  • Wie man ev. merkt, habe ich noch nicht so viel Ahnung von c++, aber das kommt schon noch 😉

    Ich habe mir in der Registry jetzt beim Mailclient eine Variable "test" gemacht und wollte den Wert heraus holen mit:

    #define KEY  "Software/Clients/Mail"
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "SendMail.h"
    #include <Registry.hpp>
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    
    AnsiString TForm1::GetRegistryValue(AnsiString KeyName)
    {
        AnsiString S;
        TRegistry *Registry = new TRegistry;
        try
        {
           Registry->RootKey = HKEY_CURRENT_USER;
           Registry->OpenKey(KeyName,false);
           S = Registry->ReadString("test");
        }
        __finally
        {
        delete Registry;
        }
        return S;
    }
    
    void __fastcall TForm1::btnSendClick(TObject *Sender)
    {
        edtMessage->Text = GetRegistryValue(KEY);
    }
    

    geht aber nicht... was mach ich denn hier falsch?
    Und wenn das mit "test" geht, wie bekomme ich denn den Wert des Mailclients? Der ist Unter (Standard) in der Registry.



  • ist wohl borland spezifisch, wenn du es mit der winapi machen möchtest
    schau mal in die faq.



  • Danke für den Tip mit ShellExecute, das funktioniert so, leider ist dabei die länge der Message auf 255 Zeichen beschränkt. Kann man da die Restriction der Shell irgendwie umgehen? mailto direkt aufrufen?


Anmelden zum Antworten