2015-04-22 2 views
2

Я пытаюсь создать клиента, который может принять приглашение на собрание с помощью ActiveSync. У меня есть ответ на работу ActiveSync, но когда я отправляю электронное письмо с подтверждением организатору и прикладываю к нему отформатированный ответ iCalendar, он не будет разбираться сервером так, как должен. Вместо этого он преобразуется в приложение, и статус посетителя пользователя никогда не обновляется.iCalendar Ответ на встречу не разоблачен

Вот MIME электронной почты я посылаю:

From: [email protected] 
To: Tester Testing <[email protected]> 
Message-ID: <[email protected]> 
Subject: Accepted: Test 11:36 Wed 
MIME-Version: 1.0 
Content-Type: multipart/alternative; 
boundary="----=_Part_0_1114661696.1429717004439" 

------=_Part_0_1114661696.1429717004439 
Content-Type: text/plain; charset=UTF-8 
Content-Transfer-Encoding: quoted-printable 

these are forced comments 
------=_Part_0_1114661696.1429717004439 
Content-Type: text/calendar; method=REPLY; charset=utf-8; name=meeting.ics 
Content-Transfer-Encoding: quoted-printable 

BEGIN:VCALENDAR 
METHOD:REPLY 
PRODID:XXXEmail 
VERSION:2.0 
BEGIN:VEVENT 
ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:[email protected] 
ORGANIZER:MAILTO:[email protected] 
DTSTART:20150422T120000 
DTEND:20150422T123000 
DTSTAMP:20150422T113625 
LOCATION;LANGUAGE=en-US:here 
UID:3D6D7B89-DE7E-45A1-B916-19DEDB2B1ADC 
CLASS:PUBLIC 
STATUS:CONFIRMED 
TRANSP:OPAQUE 
PRIORITY:5 
SEQUENCE:0 
END:VEVENT 
END:VCALENDAR 

------=_Part_0_1114661696.1429717004439-- 

ли кто-нибудь увидеть проблему с Ответить Анонсы? Или как отформатирован мим? Или любые идеи, почему это не сработает?

EDIT: В соответствии с просьбой, вот пример MIME электронной почты, который был разобран правильно на сервере:

Content-Type: multipart/alternative; boundary="===============0124021817==" 
X-Client-ID: 57 
X-Mailer: BlackBerry Email (10.3.1.2576) 
Message-ID: <[email protected]> 
Date: Wed, 22 Apr 2015 10:05:19 -0400 
Subject: Accepted: test at 10:04 Wed 
From: <[email protected]> 
To: <[email protected]> 
MIME-Version: 1.0 

--===============0124021817== 
Content-Type: text/plain; charset="us-ascii" 
Content-Transfer-Encoding: quoted-printable 

Commment 

--===============0124021817== 
Content-Type: text/calendar; charset="utf-8"; name="meeting.ics"; method=REPLY 
Content-Transfer-Encoding: quoted-printable 

BEGIN:VCALENDAR 
PRODID:-//Research In Motion//RIM App//EN 
VERSION:2.0 
CALSCALE:GREGORIAN 
METHOD:REPLY 
BEGIN:VTIMEZONE 
TZID:America/New_York 
BEGIN:STANDARD 
DTSTART:20071104T020000 
RRULE:FREQ=3DYEARLY;BYDAY=3D1SU;BYMONTH=3D11 
TZNAME:EST 
TZOFFSETFROM:-0400 
TZOFFSETTO:-0500 
END:STANDARD 
BEGIN:DAYLIGHT 
DTSTART:20070311T020000 
RRULE:FREQ=3DYEARLY;BYDAY=3D2SU;BYMONTH=3D3 
TZNAME:EDT 
TZOFFSETFROM:-0500 
TZOFFSETTO:-0400 
END:DAYLIGHT 
END:VTIMEZONE 
BEGIN:VEVENT 
ATTENDEE;RSVP=3DTRUE;ROLE=3DREQ-PARTICIPANT;CN=3DTest Test;PARTSTAT=3DACCE= 
PTED:mailto: 
[email protected] 
COMMENT:Commment 
CREATED:20150422T140505Z 
DTEND;TZID=3DAmerica/New_York:20150422T110000 
DTSTAMP:20150422T140518Z 
DTSTART;TZID=3DAmerica/New_York:20150422T103000 
LOCATION:here 
ORGANIZER;CN=3DTesting Tester:mailto:[email protected] 
SEQUENCE:0 
STATUS:CONFIRMED 
SUMMARY:test at 10:04 Wed 
TRANSP:OPAQUE 
UID:A885C120-ABAD-4418-AB24-8B93E57194F0 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:test at 10:04 Wed in 15 minutes. 
TRIGGER;RELATED=3DSTART:-PT15M 
X-WR-ALARMUID:9b758290-e8f8-11e4-afff-b57e838ad0c3 
END:VALARM 
END:VEVENT 
END:VCALENDAR 

--===============0124021817==-- 

Я попытался включая информацию о часовых поясов и до сих пор не работает. У меня есть другая программа электронной почты, которая также принимает приглашения на собрания правильно, и мое приложение iCalendar в основном идентично их (они base64 кодируют приложение iCalendar, которое я также пробовал, не повезло).

При использовании другой MIME-записи (этот был создан из проекта с открытым исходным кодом Android), содержимое vCalendar, которое я отправляю, правильно интерпретируется и анализируется. Я не вижу различий в формате MIME, хотя (помимо того, что он был кодирован Base64, который я пытался и не работал) ...?

Date: Mon, 27 Apr 2015 14:22:43 -0400 
Subject: Accepted: test event Monday 2:22 
Message-ID: <[email protected]> 
From: [email protected] 
To: "Tester Testing" <[email protected]> 
MIME-Version: 1.0 
Content-Type: multipart/alternative; boundary=" _com.android.email_7881218929099440" 

----_com.android.email_7881218929099440 
Content-Type: text/plain; charset=utf-8 
Content-Transfer-Encoding: base64 

----_com.android.email_7881218929099440 
Content-Type: text/calendar; 
name="meeting.ics" 
Content-Transfer-Encoding: base64 

QkVHSU46VkNBTEVOREFSDQpNRVRIT0Q6UkVQTFkNClBST0RJRDpYWFhFbWFpbA0KVkVSU0lPTjoyLjANCkJFR0lOOlZFVkVOVA0KVUlEOkFGQzMyNURELTk1MjYtNENFRS05MTlBLUI4RkIxQzU1RTBCQw0KQVRURU5ERUU7UEFSVFNUQVQ9QUNDRVBURUQ6TUFJTFRPOnRAeHh4LmNhDQpPUkdBTklaRVI6TUFJTFRPOnRlc3RAeHh4LmNhDQpEVFNUQVJUOjIwMTUwNDI3VDE0MzAwMA0KRFRFTkQ6MjAxNTA0MjdUMTUwMDAwDQpEVFNUQU1QOjIwMTUwNDI3VDE0MjIzMQ0KTE9DQVRJT047TEFOR1VBR0U9ZW4tVVM6aGVyZQ0KQ0xBU1M6UFVCTElDDQpTVEFUVVM6Q09ORklSTUVEDQpUUkFOU1A6T1BBUVVFDQpQUklPUklUWTo1DQpTRVFVRU5DRTowDQpFTkQ6VkVWRU5UDQpFTkQ6VkNBTEVOREFS 

----_com.android.email_7881218929099440-- 

ответ

0

Попробуйте использовать multipart/mixed вместо multipart/alternative.

+0

Спасибо за ответ, к сожалению, я получаю то же самое. Файл .ics отображается как вложение и никогда не анализируется сервером. – forevercrashed

+0

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

+0

См. Оригинальный вопрос выше, я отредактировал его, чтобы включить пример MIME, который работает так, как ожидалось. – forevercrashed