none
Aufrufen von Outlook mit Attachement RRS feed

  • Frage

  • Hallo,

    ich habe folgendes Problem: Ich möchte Outlook (oder das auf dem Rechner installierte Mailprogramm) starten. Dazu nutze ich das mailto Protokoll und gehe folgendermaßen vor:

    string sendemail = "mailto:test@test.de?Body=fett");
    Process.Start(sendemail);

    Nun möchte ich ein Attachment anfügen. Über die Kommandozeile

    outlook /a C:\\test.txt

    funktioniert es für Outlook schon super. Allerdings funktioniert folgender String gar nicht:

    "mailto:test@test.de?Subject=Mein%20neues%20Spielzeug&Attachment=\"C:\\test.txt\""

    Jedwede Verkettung mit einfachem Backslash oder ohne Hochkommas bringt keinen Erfolg. Entweder kommt die Fehlermeldung, dass die Befehlszeilenargumente falsch sind oder es wird einfach ignoriert.

    Gibt es keine Möglichkeit das für Office 2010 zu machen?

    Grüße

    Dienstag, 5. Juni 2012 15:24

Antworten

Alle Antworten

  • Also die Paramater muss man als 2. Parameter in der Process.Start-Methode angeben. Ansonsten wäre eine Fehlermeldung nicht schlecht ;)

    Koopakiller - http://koopakiller.ko.ohost.de/

    Dienstag, 5. Juni 2012 15:33
    Moderator
  • Also die Paramater muss man als 2. Parameter in der Process.Start-Methode angeben. Ansonsten wäre eine Fehlermeldung nicht schlecht ;)

    Koopakiller - http://koopakiller.ko.ohost.de/

    Den zweiten Parameter habe ich auch untersucht, aber einen Vorteil hat er mir bisher nicht gebracht...

    Fehler ist:

    "Das Befehlszeilenargument ist ungültig. Überprüfen Sie den verwendeten Befehl."

    Vielleicht habe ich mich falsch ausgedrückt: Es ist kein Fehler im Visual Studio. Sondern Outlook bringt eine MessageBox.

    Dienstag, 5. Juni 2012 15:43
  • Es liegt, glaub ich ganz simpel daran, das es kein Attachment-Parameter gibt. Siehe dazu:
    http://msdn.microsoft.com/en-us/library/aa767737%28v=vs.85%29.aspx

    Nun gut, ich habe wärend dessen noch folghendes gefunden:
    http://dotnet-snippets.de/dns/c-email-ueber-outlook-verschicken-SID1205.aspx
    Dort wird über einen Interop auf Outlook zugegriffen.

    Ansonsten habe ich auch noch den System.Net.Mail-Namespace im Angabot, womit man Problemlos E-Mails direkt über .NET versenden kann. Siehe hier



    Koopakiller - http://koopakiller.ko.ohost.de/

    • Als Antwort markiert Gozar15 Mittwoch, 6. Juni 2012 06:01
    Dienstag, 5. Juni 2012 15:50
    Moderator
  • Okay. Das ist doch mal eine negative Aussage :( Hatte ich mir schon fast gedacht, dass das nicht überall funktioniert. Schade.

    Der Zugriff auf Interop schwebte mir auch schon vor, aber damit kann ich ja nur Outlook ansteuern und nicht eventuell andere installierte E-Mail-Programme.

    E-Mails versenden möchte ich nicht. Sondern erstmal nur öffnen.

    Dienstag, 5. Juni 2012 15:53
  • Du könntest ja das mit dem mailto-Protokol verknüpfte Programm prüfen, wenn es Outlook ist, es per Interop starten, ansonsten über seine Befehlszeile (wenn die bei anderen Programmen geht).

    Koopakiller - http://koopakiller.ko.ohost.de/

    • Als Antwort markiert Gozar15 Mittwoch, 6. Juni 2012 06:01
    Dienstag, 5. Juni 2012 17:11
    Moderator
  • Du könntest ja das mit dem mailto-Protokol verknüpfte Programm prüfen, wenn es Outlook ist, es per Interop starten, ansonsten über seine Befehlszeile (wenn die bei anderen Programmen geht).

    Koopakiller - http://koopakiller.ko.ohost.de/

    Ja das wäre noch eine Möglichkeit, aber ist für unser Projekt leider nicht durchzuführen.
    Mittwoch, 6. Juni 2012 05:59
  • Zusammenfassung:

    • Als Antwort markiert Gozar15 Mittwoch, 6. Juni 2012 06:01
    Mittwoch, 6. Juni 2012 06:00