Приглашение на собрание с вложением не распознается в Outlook 2010 / Office 365 - PullRequest
4 голосов
/ 21 декабря 2011

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

  • Создайте System.Net.Mail.MailMessage и установите обычные поля (из / в / subject / и т. Д.) И информацию о собрании в виде вложения (файл 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 ]

2 голосов
/ 22 марта 2013

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

0 голосов
/ 23 августа 2018

Недавно я получил эту проблему при использовании System.Net.Mail:

  1. Отправка электронной почты с iCalendar в качестве альтернативного представления (текст / календарь) без вложений: Работает .- Я использовал iCal.Net для генерации сообщения iCalendar.
  2. Отправка электронной почты с помощью iCalendar в качестве альтернативного представления (текст / календарь) с вложением: он работает в Windows 10 Mail, но не работает с Outlook365.

Основная причина этой проблемы: Когда ваше электронное письмо содержит вложения, MailMessage создаст сообщение, подобное этому:

multipart/mixed
  multipart/alternative
    text/plain
    text/calendar;method=REQUEST
  multipart/mixed
    content-type (with a content-disposition:attachment)

Но Outlook365 ожидает, что сообщение будет:

multipart/mixed
  multipart/alternative
    text/plain
    text/calendar;method=REQUEST
  content-type (with a content-disposition:attachment)

Когда Outlook получает неправильный формат вложения.В некотором смысле, он будет игнорировать часть календаря.

Мое решение: Я решил использовать MailKit для отправки электронной почты вместо System.Net.Mail.By с помощью этой библиотеки я могу контролироватьформат сообщения.

0 голосов
/ 22 марта 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...