2012-11-19 10 views
6

Ich muss die Outlook Funktion/Funktionalität replizieren, um einige Aufgaben Anfragen an jemanden zu senden (see here), aber mit Mails von einem Webserver mit ASP.NET C# und ohne Outlook auf dem Webserver installiert (damit Outlook-Automatisierung ist nicht möglich).Wie senden Sie Outlook-Aufgabenanforderungen per E-Mail ohne Outlook?

ich bereits überprüfen, was die Möglichkeiten, dies zu tun, und es scheint, einen gemeinsamen Weg Aufgaben an jemanden zu senden ist eine .ics Datei in iCalendar Format zu erzeugen, und schließen Sie die Datei an die E-Mail (see this stackoverflow question).

Es funktioniert großartig, aber es gibt keine Gleichwertigkeit der Aufgaben von Outlook gesendet:

  • Events (VEVENT) haben ein Startdatum und Enddatum (wie eine Aufgabe), aber keine „Vollendung“ -Feld (die machen Sinn, da es ein Ereignis ist, keine Aufgabe).
  • Todos (VTODO) haben nur ein Fälligkeitsdatum, kein Startdatum oder Enddatum and it is not supported by outlook.

Ich habe mich, was Outlook genau in einer E-Mail senden Aufgabenanfrage enthält: Sie enthält eine winmail.dat-Datei (mit content-type:application/ms-tnef) als Base64 codiert. Innerhalb dieser Datei (die eine Binärdatei ist) gibt es einen Verweis auf IPM.TaskRequest, der zu sein scheint, was ich brauche.

Ich überprüfte das Web und fand einige TNEF-Parser, aber ich brauche das Gegenteil: , um aus C# -Code eine TNEF-Datei zu generieren, die eine Taskanforderung enthalten würde. Ich würde gerne wissen, ob es einen Weg gibt, das zu tun. Die Verwendung einer Bibliothek (kostenlos oder nicht) ist kein Problem.

+0

Sie eine Lösung für das gekommen? –

Antwort

0

Auch wenn Outlook auf dem Webserver installiert wurde, ist die Outlook-Automatisierung auf einem Server im Allgemeinen eine schlechte Idee.

Haben Sie sich jedoch Exchange Web Services angesehen? Es bietet ein vollständiges Objektmodell zur Integration mit Outlook. Offensichtlich ist es mit Outlook verbunden (im Gegensatz zu ics), aber es scheint zu Ihrem Anwendungsfall zu passen.

EWS Übersicht: http://msdn.microsoft.com/en-us/library/exchange/dd877045%28v=exchg.140%29.aspx

mit Aufgaben arbeiten: http://blogs.msdn.com/b/dhruvkh/archive/2012/04/06/working-with-tasks-using-exchange-web-services.aspx

+0

Zwei Fragen: 1) Muss Microsoft Exchange installiert sein? oder ist es als eigenständige Bibliothek verfügbar, die ich zu jedem C# -Projekt hinzufügen kann? 2) Ich sehe viele Verweise auf Exchange 2010 und Exchange 2007 auf der von Ihnen gesendeten Seite. Funktioniert diese Lösung zum Senden von Aufgabenanforderungen an jemanden, der Outlook 2003 verwendet? – tigrou

+0

Ich bin mir nicht ganz sicher, aber ich glaube EWS ist Teil Ihrer Exchange Server Installation. Ich bin mir nicht sicher über die Abwärtskompatibilität mit Outlook 2003, tut mir leid. – jeroenh