2012-11-19 8 views
6

Ho bisogno di replicare la funzionalità Outlook per inviare alcune richieste di attività a qualcuno (see here) ma con mail inviate da un server web utilizzando ASP.NET C# e senza Outlook installato sul server web (quindi l'automazione di Outlook non è possibile).Come inviare richieste di attività Outlook per posta senza Outlook?

Ho già verificare quali sono le possiblities per fare questo, e sembra un modo comune per inviare i compiti a qualcuno è quello di generare un file in formato .icsiCalendar, e includere il file alla mail (see this stackoverflow question).

Funziona benissimo, tuttavia non v'è alcuna equivalenza delle mansioni inviati da Outlook:

  • Eventi (VEVENT) hanno una data di inizio e di fine (come un compito), ma nessun campo "completamento" (che fanno senso poiché è un evento, non un compito).
  • Todos (VTODO) ha solo una data di scadenza, nessuna data di inizio o data di fine and it is not supported by outlook.

mi sono controllato che cosa esattamente Outlook inviare in una mail contenente una richiesta di attività: Include un file winmail.dat (con content-type:application/ms-tnef) codificato come Base64. Dentro quel file (che è un file binario) c'è un riferimento a IPM.TaskRequest che sembra essere quello di cui ho bisogno.

Ho controllato il web e hanno trovato alcuni parser TNEF, ma ho bisogno del oposite: di generare dal codice C# in un file TNEF che avrebbe contiene una richiesta di attività. Mi piacerebbe sapere se c'è un modo per farlo. Utilizzare una libreria (gratuita o meno) non è un problema.

+0

sei arrivato qualsiasi soluzione per questo? –

risposta

0

Anche se Outlook è stato installato sul server Web, l'automazione di Outlook su un server è generalmente una cattiva idea.

Tuttavia, avete consultato i servizi Web di Exchange? Fornisce un modello di oggetto completo da integrare con Outlook. Ovviamente è legato all'outlook (a differenza di ics), ma sembra adattarsi al tuo caso d'uso.

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

Lavorare con compiti: http://blogs.msdn.com/b/dhruvkh/archive/2012/04/06/working-with-tasks-using-exchange-web-services.aspx

+0

Due domande: 1) è necessario avere installato Microsoft Exchange? o è disponibile come libreria standalone che posso aggiungere a qualsiasi progetto C#? 2) Vedo molti riferimenti a Exchange 2010 ed Exchange 2007 nella pagina inviata, questa soluzione funziona per l'invio di richieste di attività a qualcuno che utilizza Outlook 2003? – tigrou

+0

Non ne sono completamente sicuro, ma credo che EWS sia parte dell'installazione del server di Exchange. Non sono nemmeno sicuro della compatibilità con le versioni precedenti di Outlook 2003, mi spiace. – jeroenh