Mit c# ein neues Nachrichtenfenster öffnen und befüllen

  • Hallo!

    ist es möglich mit C# über die API ein neues Nachrichtenfenster zu öffnen und die Felder An, CC und BCC zu befüllen? Das Fenster soll dann geöffnet bleiben, damit der Nutzer den eigentlichen Nachrichtentext und den Betreff manuell eingeben kann.

    Mir ist bis jetzt nur gelungen, eine neue Nachricht im Entwürfe-Ordner mit allen Empfängerdaten zu erzeugen. Das ist allerdings nicht ausreichend - der Kunde möchte das Nachrichtenfenster dann geöffnet haben. Im Grunde so, als wenn man in David.fx 2011 über Datei->Neu auf Nachricht klicken würde.

    Hat jemand von euch bereits Erfahrungen damit gemacht?

    Viele Grüße
    David

  • Hier ein Delphi Code zum Senden einer eMail, ich weiß leider nicht ob das UserHold nur im Versand den Wartend Zustand aktiviert oder vor dem Senden das Fenster erscheint. Bei der Übergabe per Mapi ist es nämlich möglich das Fenster einzublenden. Von der Mapi Programmierung habe ich aber keine Ahnung.

  • Hallo dagobert666,

    danke schon mal für deinen Code. Ich hab ihn mal in C# übersetzt - funktioniert auch so weit und die E-Mail wird auch im Versandbereich von david.fx angezeigt. Leider erscheint aber kein Fenster. Wenn ich den Speicherort der E-Mail rausfinden könnte, könnte man sie vielleicht über "DVWIN32.EXE /EML..." öffnen.
    Des weiteren muss ich unter Anderem noch CC & vor allem BCC Empfänger einfügen - hast du dazu eine Idee?

    Ich versuche es mal weiter...
    Besten Dank nochmal
    David

  • Guck mal hier, da hat jemand BCC so angesprochen: oMailItem.bcc.ADD(...)
    Ich habe leider auch kaum Ahnung von der Materie.

    Oder du musst es mit einem anderen Programm dazwischen lösen.
    Man kann die ganzen Dinge mittels MAPI übergeben, z.B. mittels qvPDF (kostenlos).
    Wenn man z.B. eine Warenwirtschaft nutzt und druck auf den qvPDF Drucker kann man mittels einer transparenten Schrift Dinge wie CC,BCC, Body usw. übergeben und das Dokument wird als PDF dran gehängt. Dabei kann man dann auch einschalten das die eMail geöffnet wird und man selbst auf Senden drücken muss. Vielleicht geht das in die Richtung die du brauchst...

  • Definiere mal "Nachrichtenfenster" etwas genauer.

    Wenn Du das "Nachrichtenfenster" von David meinst, würde ich mal behaupten wollen, dass das so ohne weiteres
    nicht möglich sein wird.

    Wenn Du allerdings mit C# eine einfache WindowsForm bastelst, kannst Du natürlich die Felder implementieren
    und via DVAPI die eMail an den David Server übergeben.

    Sollte eigentlich in einer Stunde programmiert sein, wenn du auf HTML-Mails und den ganzen Schnick-Schnack
    verzichten kannst...


    Andererseits verstehe ich den Sinn nicht so wirklich:

    >> ist es möglich mit C# über die API ein neues Nachrichtenfenster zu öffnen und die Felder An, CC und BCC zu befüllen?
    >> Das Fenster soll dann geöffnet bleiben, damit der Nutzer den eigentlichen Nachrichtentext und den Betreff manuell eingeben kann.

    >> Im Grunde so, als wenn man in David.fx 2011 über Datei->Neu auf Nachricht klicken würde.

    Dann kannste doch auch gleich das InfoCenter nehmen, oder wo genau ist das Problem?

    Einmal editiert, zuletzt von McDoyle (14. Januar 2011 um 19:07)

  • Hallo zusammen,

    ja, mit Nachrichtenfenster meinte ich ein David.fx Nachrichtenfenster.
    Der Sinn ist der, dass man sich verschiedene Adressen zuvor zusammensuchen kann und diese dann mit seinem gewohnten E-Mail Client versenden kann.
    Dadurch ist man in seiner gewohnten Umgebung und hat alle Einstellungen wie Signatur und eventuelle Logos.

    Wie dem auch sei - dagobert666 hat es in seiner ersten Mail schon gesagt - Mapi war das Zauberwort.

    Mit Hilfe der Konstante MAPI_DIALOG = 0x00000008, die man der MAPISendMail Methode übergeben kann, wird im jeweiligen Mail-Client ein neues E-Mail-Fenster erzeugt, welches man direkt befüllen kann.

    Besten Dank dafür,
    falls einer Code-Schnipsel dafür braucht, kann er sich gerne melden.

    Viele Grüße
    David

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!