Freitag, 27. August 2010

Standard Emailprogramm öffnen

Im vorigen Post wurde beschrieben, wie man eine URL mit dem Standardbrowser öffnet. In diesem Post geht es um das Öffnen einer Emailvorlage mit dem als Standard eingetragenen Emailclient.
Wie im vorigen Post führt auch hier die Funktion System.Diagnostics.Process.Start() zum Erfolg. Dem Parameter muss dieses mal nur der String "mailto:" vorgestellt werden, ganz wie beim Öffnen eines Emailfensters beim Klick auf einen Hyperlink.
Die Syntax ist zum HTML - Mailto gleich: Nach "mailto" wird die Emailadresse des Empfängers erwartet, zusätzlich können noch optionale Parameter angehangen werden. Der erste Parameter wird durch ein Fragezeichen ("?") von der Empfängeradresse getrennt, die restlichen durch "&".
Folgende Parameter sind möglich:
  • cc: Carbon Copy, eine Kopie der Email wird an diese Adresse geschickt, der erste Empfänger sieht diese Adresse.
  • bcc: Blind Carbon Copy, eine Kopie der Email wird an diese Adresse geschickt, der erste Empfänger sieht diese Adresse nicht.
  • subject: Betreff der Nachricht.
  • body: Inhalt der Nachricht

Mit dem String "%0A" kann im Body eine neue Zeile eingefügt werden.
Aber Achtung: Es ist nicht gesagt, dass alle Emailprogramme andere Parameter außer dem Empfänger zulassen!
Folgendes Beispiel öffnet ein Fenster des Standardemailprogramms mit einer Nachricht an mich:

System.Diagnostics.Process.Start("mailto:bloggeroliver@web.de");

Nächste Anweisung öffnet ein neues Emailfenster, alle oben beschriebenen Parameter wurden im mailto - Link benutzt:
System.Diagnostics.Process.Start("mailto:bloggeroliver@web.de?bcc=bloggeroliver@web.de&cc=bloggeroliver@web.de&subject=Testmail&body=Hallo Oliver,%0Adiese Mail ist von deinem Beispielprogramm erzeugt worden.");

Kommentare:

  1. ist es möglich in die Zeichenfolge auch verschiedene strings rein zu packen?

    z.B.
    Proccess.Start("mailto:bloggeroliver@web.de?bcc=bloggeroliver@web.de&cc=bloggeroliver@web.de&subject="+strSubject+"&body="+)

    lg

    AntwortenLöschen
    Antworten
    1. Hallo, meinst du ob man String Variablen wie oben dein strSubject reinpacken kann? Klar. Wo ist das Problem?

      Löschen