Evolcom.ru

Бытовая техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как переслать приглашение на встречу как обычное письмо в Outlook?

Приглашение на собрание с вложением, не распознанным в Outlook 2010 / Office 365

У нас есть приложение .NET, которое вручную генерирует приглашения на встречу для отправки пользователям. Процесс, который мы используем, выглядит следующим образом:

  • Создайте System.Net.Mail. MailMessage и определите обычные поля (from/to/subject/etc) И информацию о собрании как вложение (ICS файл), с 7-битной кодировкой — это необходимо для почтовых клиентов, которые не распознают приглашения в стиле Outlook
  • Добавьте два альтернативных представления, text/plain и text/html, оба с 7-битной кодировкой для текста письма
  • Добавьте еще одно альтернативное представление с «text/calendar ; charset=UTF-8; method=REQUEST» с тем же текстом ICS, что и прикрепленный выше файл ICS, также в 7-битной кодировке
  • Отправить сообщение

Это прекрасно работало в традиционной конфигурации Outlook 2007 / Exchange (вложение не отображается, и сообщение рассматривается как запрос на встречу), но после обновления до Outlook 2010 / Office 365 встроенные данные ICS не распознаются, и сообщение отображается как обычное сообщение с вложенным файлом ICS. Если вы удалите вложение, сообщение будет распознано правильно. Мы не уверены, является ли причиной этого изменения новая версия Outlook или Office 365, но это должно быть одно из них.

Есть ли у кого-нибудь идеи, почему это изменилось и как мы можем это исправить?

3 ответа

  • Надстройки отключены при создании собрания в групповом календаре office 365 в outlook 2016.

Я следовал этой статье, чтобы создать собрание в групповом календаре Office 365 с помощью Outlook 2016 (на Windows 10). Однако все дополнения отключены в родном outlook 2016 при использовании группового календаря. Дополнения Weboutlook отлично работают для групповых календарей и постоянных календарей.

Читайте так же:
Как подсчитать количество папок в указанной учетной записи электронной почты или всех почтовых ящиках в Outlook?

Разработка дополнения office 365, outlook. Изменил иконку дополнения, по сути заменив предыдущие иконки на новые. Это одно и то же имя для обоих значков). значок в порядке для OWA, но надстройка Outlook 2016 все еще показывает старый значок. Шаги по устранению неполадок на данный момент .

Мы столкнулись с аналогичной проблемой. В нашем случае, наш почтовый сервер был обновлен с exchange 2003 до exchange 2010, наша компания перевела некоторые учетные записи пользователей почты на 2010. Мы все еще используем outlook 2007 в качестве интерфейса. У нас есть приложение .NET, которое создает приглашения на встречу в виде представления оповещения и отправляет их получателям. Люди, чьи учетные записи электронной почты были перенесены, больше не получают приглашения в виде запросов на встречу, только электронные письма. Те, кто остался в Exchange 2003, не имеют проблем с получением приглашений в виде запросов на встречу. Я провел небольшое исследование в интернете и обнаружил, что Exchange 2010 изменил способ обработки файла .ics и является более ограничительным, чем предыдущая версия. Хуже всего то, что он не соответствует RFC, и Microsoft считает, что это не их дело — пытаться выяснить, какая именно деталь помешала их Exchange 2010 правильно интерпретировать .ics. Поэтому мое решение заключается в том, чтобы не отправлять файл .ics в качестве альтернативной доставки, а отправить его как вложение. Когда он получен в учетных записях электронной почты, перенесенных в 2010 год, пользователь видит вложение и может нажать на него, чтобы импортировать его в свои календари.

Outlook/Exchange ожидает, что тип сообщения будет текстовым/календарным, а не текстовым/многопарным.

Отправлять приглашения на собрания Outlook без Outlook?

Потому что разработчики не решили его поддерживать. Действительно (насколько я могу судить), но все существующие смарт-призраки применяются только к проверенному значению. Так что, вероятно, добавить его будет нетривиально, и как часто он будет использоваться?

Читайте так же:
Как получить важное уведомление по электронной почте в Outlook?

Такое уточнение типов поддерживается обобщенными алгебраическими типами данных, которые поддерживаются Haskell и OCaml (и в некоторой степени Scala), но их система типов и вывод типов очень отличаются.

2 ответа

Отправка приглашения на встречу в Outlook (и его распознавание) происходит следующим образом:

  • готовят iCalendar файл, убедиться установить эти дополнительные свойства, поскольку Outlook нужны они:
    • UID
    • SEQUENCE
    • CREATED
    • LAST-MODIFIED
    • DTSTAMP
    • Часть 1: text/html (или то, что вы хотите) — отображается для «обычных» читателей почты или как переопределение и содержит сводку событий в человекочитаемой форме
    • Часть 2: text/calendar; method=REQUEST , содержит содержимое ics файла (заголовок метода, параметр должен соответствовать методу в ics). Не забудьте указать правильную кодировку текста, объявив charset, параметр заголовка не помешает.
    • Часть 3: Также прикрепите сам файл .ics, таким образом, обычные программы для чтения почты смогут предложить пользователю что-то, на что можно нажать. Outlook на самом деле не нужно вложение, поскольку он читает только текстовую/календарную часть.

    Чтобы узнать подробности и специфику формата файла ics, обязательно ознакомьтесь со спецификацией выбора iCalendar Масахиде Канзаки. Они — свет во тьме, гораздо лучше, чем прожевывать свой путь через [1,117] RFC 2445. Но, с другой стороны, может существовать полезная библиотека для .NET.

    Вы можете отправлять приглашения на собрания через почту Outlook с помощью iCal (RFC 5545).

    Вы не можете отправлять элементы задач таким способом. Вы можете отправлять «Встречи», но в перспективе они выглядят как приложения .ics, которые должны быть приняты «вслепую».

    Приглашения на встречу появляются в Outlook с красивым предварительным просмотром и могут быть приняты или отклонены. Отправляющая программа может изменить или отменить встречу после ее отправки.

    Легко создайте действительный элемент iCal с помощью DDay.iCal. Net

    Ниже показан рабочий пример кода. Он создает строку с действительным приглашением на встречу iCal и отправляет ее по почте.

    В соответствии с этим кодексом было создано почтовое отделение с номером:

    • HTML-текст для простых почтовых клиентов
    • Приглашение на встречу iCal как AlternateView (для Outlook)
    • Приглашение на встречу iCal как вложение (для почтовых клиентов, не входящих в состав Outlook)

    Код показывает, как добавить:

    • Текст описания в формате HTML лучше выглядит в Outlook
    • Приоритет, видимость (публичный/частный/конфиденциальный)
    • Дополнительный организатор (отображается в Outlook вместо отправителя почты)
    • Дополнительные участники
    • Дополнительный будильник
    • Дополнительные приложения для встреч. отображается в календаре Outlook

    Немного важной информации:

    • Отправитель (или, возможно, организатор) и получатель почты должны быть разными, чтобы это задание работало в Outlook
    • METHOD в .ics и METHOD в Mime.ContentType должны совпадать
    • Встреча должна состояться в будущем, чтобы это задание работало в Outlook
    • Часть .ics должна быть последней частью alternateView в Mime-mail

    Точные сведения о том, как outlook интерпретирует файлы .ics, описаны в [MS-OXCICAL]: Алгоритм преобразования объектов iCalendar в Appointment

    Мы будем использовать эти коллекции:

    Для DDay.iCal достаточно загрузить двоичные файлы DDay.iCal . Если вы хотите добавить некоторые функции, лучше всего взглянуть на исходники DDay.iCal, поскольку документация устарела, и источники содержат довольно полные тесты, в которых описаны все его функции.

    Именно здесь вступает в действие функция ReadBinary ():

    Самый простой способ установить SmtpClient в файле конфигурации выглядит следующим образом

    голоса
    Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector