Мы отправляем события календаря в формате iCalendar нашим клиентам после подписки или отмены подписки на событие.
Содержимое iCalendar вложено в файл и встроено в сообщение электронной почты. Благодаря встраиванию Outlook 2010 раньше показывал событие и предлагал импортировать его в свой календарь. Thunderbird / Lightning работает точно так же.
Мы используем Метод = ПУБЛИКОВАТЬ как указано в RFC 5546 — 3.2.1. Мы не хотим, чтобы клиенты «принимали» или «отклоняли» событие, поскольку это уже подтверждено системой бронирования. Это можно сделать с помощью метода = REQUEST.
Это работало как задумано, пока мы использовали Exchange 2007. С Exchange 2013 у нас странное поведение
Делая это с методом = REQUEST, кажется, все хорошо, даже для Outlook.
Я сократил нашу настройку, чтобы найти решение. Теперь я понятия не имею.
НАЧАТЬ: VCALENDAR МЕТОД: ЗАПРОС PRODID: - // Пример / ExampleCalClient // EN VERSION: 2,0 НАЧАТЬ: VEVENT ОРГАНИЗАТОР; CN = "а": MAILTO: [email protected] DTSTART: 19970701T200000Z DTSTAMP: 19970611T190000Z РЕЗЮМЕ: СТ. PAUL SAINTS -VS- DULUTH-SUPERIOR DUKES UID: [email protected] СТАТУС: Подтверждена END: VEVENT END: VCALENDAR
setSubject ('Ваша тема') -> setFrom (array ('[email protected] '=>' a ')) -> setTo (массив ('[email protected] '=>' b ')) //->attach(Swift_Attachment::fromPath('Minimal.ics')) ; // включить как встроенную часть $ part = \ Swift_MimePart :: newInstance () -> setEncoder (\ Swift_Encoding :: getBase64Encoding ()) -> setContentType ('text / calendar; method = PUBLISH') -> setBody (file_get_contents ( 'Minimal.ics')); $ Сообщение-> присоединять ($ часть); $ transport = Swift_SmtpTransport :: newInstance ('localhost', 25); // Создание почтовой программы с использованием созданного вами транспорта $ mailer = Swift_Mailer :: newInstance ($ transport); $ Mailer-> отправить ($ сообщение);
Обратный путь: [...] Message-ID: Дата: ср, 01 июня 2016 16:29:34 +0000 Тема: Ваша тема Из Кому: б MIME-версия: 1.0 Тип контента: составной / альтернативный; граница = "_ = _ swift_v4_1464798574_0bd8d119cc81344afaa03879bf961d51 _ = _" --_ = _ swift_v4_1464798574_0bd8d119cc81344afaa03879bf961d51 _ = _ Тип контента: текст / календарь; Метод = ПУБЛИКОВАТЬ; кодировка = UTF-8 Content-Transfer-Encoding: base64 QkVHSU46VkNBTEVOREFSDQpNRVRIT0Q6UkVRVUVTVA0KUFJPRElEOi0vL0V4YW1wbGUvRXhhbXBs ZUNhbENsaWVudC8vRU4NClZFUlNJT046Mi4wDQpCRUdJTjpWRVZFTlQNCk9SR0FOSVpFUjtDTj0i QWxleGFuZGVyIEJpZ2dhIjpNQUlMVE86QWxleGFuZGVyLkJpZ2dhQHNsdWItZHJlc2Rlbi5kZQ0K RFRTVEFSVDoxOTk3MDcwMVQyMDAwMDBaDQpEVFNUQU1QOjE5OTcwNjExVDE5MDAwMFoNClNVTU1B Ulk6U1QuIFBBVUwgU0FJTlRTIC1WUy0gRFVMVVRILVNVUEVSSU9SIERVS0VTDQpVSUQ6MDk4MTIz NC0xMjM0MjM0LTIzQGV4YW1wbGUuY29tDQpTVEFUVVM6Q09ORklSTUVEDQpFTkQ6VkVWRU5UDQpF TkQ6VkNBTEVOREFSDQo = --_ = _ swift_v4_1464798574_0bd8d119cc81344afaa03879bf961d51 _ = _--
Поведение не меняется, если
Thunderbird / Lightning и Googlemail работают как положено.
Итак, что с этим не так? Или это известное поведение Exchange 2013 / Outlook 2010? Или кто дьявол в этом случае?
Задача ещё не решена.
Других решений пока нет …