Как отправлять запросы задач Outlook по почте без Outlook?

Мне нужно воспроизвести функцию / функцию Outlook, чтобы отправить кому-то некоторые запросы задач (см. здесь), но с сообщениями, отправленными с веб-сервера с использованием ASP.NET C# и без установленного на нем Outlook (таким образом, автоматизация Outlook невозможна).

Я уже проверял, каковы возможности для этого, и кажется, что наиболее распространенным способом отправки задач кому-либо является создание файла .ics в формате iCalendar и включение этого файла в почту (см. этот вопрос о stackoverflow).

Он отлично работает, однако нет эквивалента задач, отправленных outlook:

  • События (VEVENT) имеют дату начала и дату окончания (как задача), но не имеют поля «завершение» (что имеет смысл, поскольку это событие, а не задача).
  • Todos (VTODO) имеет только дату выполнения, дату начала или дату окончания не поддерживает перспектива.

Я сам проверил, что именно Outlook отправляет в письме, содержащем запрос задачи: он включает файл winmail.datcontent-type:application/ms-tnef), закодированный как Base64. Внутри этого файла (который является двоичным файлом) есть ссылка на IPM.TaskRequest, которая, кажется, мне нужна.

Я проверил Интернет и нашел несколько синтаксических анализаторов TNEF, но мне нужен противоположный вариант: для генерации из кода C # файла TNEF, который будет содержать запрос задачи. Я хотел бы знать, есть ли способ сделать это. Использование библиотеки (бесплатно или бесплатно) не является проблемой.


person tigrou    schedule 19.11.2012    source источник
comment
ты нашел какое-нибудь решение для этого?   -  person Fahad Hussain    schedule 26.02.2014


Ответы (1)


Даже если Outlook был установлен на веб-сервере, автоматизация Outlook на сервере, как правило, является плохой идеей.

Однако вы смотрели на веб-службы Exchange? Он предоставляет полную объектную модель для интеграции с Outlook. Очевидно, что это связано с внешним видом (в отличие от ics), но похоже, что это соответствует вашему варианту использования.

Обзор EWS: http://msdn.microsoft.com/en-us/library/exchange/dd877045%28v=exchg.140%29.aspx

Работа с задачами: http://blogs.msdn.com/b/dhruvkh/archive/2012/04/06/working-with-tasks-using-exchange-web-services.aspx

person jeroenh    schedule 19.11.2012
comment
Два вопроса: 1) обязательно ли должен быть установлен Microsoft Exchange? или она доступна как отдельная библиотека, которую я могу добавить в любой проект C #? 2) Я вижу много ссылок на Exchange 2010 и Exchange 2007 на отправленной вами странице. Работает ли это решение для отправки запросов задач тем, кто использует Outlook 2003? - person tigrou; 19.11.2012
comment
Я не совсем уверен, но считаю, что EWS является частью вашей установки сервера обмена. Я тоже не уверен в обратной совместимости с outlook 2003, извините. - person jeroenh; 19.11.2012