2015-03-18 1 views
0

Я генерирую электронное письмо, содержащее событие в формате ICS, которое я хочу, чтобы Gmail и Outlook распознавали. Как я видел в другом месте, он состоит из мульти/смешанного сообщения. Внутри этого есть несколько/alt с текстовыми/plain, text/html и текстовыми/календарными частями. И окончательная часть приложения/ics. Gmail распознает это и добавляет кнопку «Добавить в Google Календарь», но он считает, что есть два одинаковых события. Я понимаю, что конечная часть приложения/ics предназначена для Outlook, но, похоже, она вызывает дубликат. Что мне не хватает?Событие приглашает результаты в Gmail, отображая два события для добавления в gcal

Вот пример сообщения:

Mime-Version: 1.0 
Content-Type: multipart/mixed; boundary="001643911600085117750003319898" 

--001643911600085117750003319898 
Content-Type: multipart/alternative; boundary="yabbadabbadoo" 

--yabbadabbadoo 
Content-Transfer-Encoding: quoted-printable 
Content-Type: text/plain; charset="utf-8" 

This is my plain text part 


--yabbadabbadoo 
Content-Type: text/html; charset="utf-8" 
Content-Transfer-Encoding: quoted-printable 

This is my HTML part 

--yabbadabbadoo 
Content-Type: text/calendar; charset=UTF-8; method=PUBLISH 
Content-Transfer-Encoding: quoted-printable 

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//Groups.io Inc//Groups.io Calendar//EN 
METHOD:PUBLISH 
CALSCALE:GREGORIAN 
BEGIN:VEVENT 
UID:[email protected] 
DTSTAMP:20150318T225646Z 
DTSTART:20150321T000000Z 
DTEND:20150321T010000Z 
SUMMARY:test 6 
DESCRIPTION:5-7pm pacific time 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:test 6 
TRIGGER:-PT5H 
END:VALARM 
END:VEVENT 
END:VCALENDAR 

--yabbadabbadoo-- 


--001643911600085117750003319898 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="invite.ics" 
Content-Type: application/ics; name="invite.ics" 

QkVHSU46VkNBTEVOREFSClZFUlNJT046Mi4wClBST0RJRDotLy9Hcm91cHMuaW8gSW5jLy9Hcm91 
cHMuaW8gQ2FsZW5kYXIvL0VOCk1FVEhPRDpQVUJMSVNICkNBTFNDQUxFOkdSRUdPUklBTgpCRUdJ 
TjpWRVZFTlQKVUlEOmNhbGVuZGFyLjEwQGdyb3Vwcy5pbwpEVFNUQU1QOjIwMTUwMzE4VDIyNTY0 
NloKU1VNTUFSWTp0ZXN0IDYKRFRTVEFSVDoyMDE1MDMyMVQwMDAwMDBaCkRURU5EOjIwMTUwMzIx 
VDAxMDAwMFoKREVTQ1JJUFRJT046NS03cG0gcGFjaWZpYyB0aW1lCkJFR0lOOlZBTEFSTQpBQ1RJ 
T046RElTUExBWQpERVNDUklQVElPTjp0ZXN0IDYKVFJJR0dFUjotUFQ1SApFTkQ6VkFMQVJNCkVO 
RDpWRVZFTlQKRU5EOlZDQUxFTkRBUg== 


--001643911600085117750003319898-- 

ответ

0

мне не хватает ORGANIZER поле в файле ICS. Как только я добавил, Gmail больше не отображает повторяющееся событие.

0

Перспективы ожидает сообщение только одна часть - текст/календарь.

Обычный текст и тело HTML, а также вложения должны быть частью данных vCalendar.

Ваше целое сообщение должно выглядеть следующим образом:

Mime-Version: 1.0 
Content-Type: text/calendar; charset=UTF-8; method=PUBLISH 
Content-Transfer-Encoding: quoted-printable 
Subject: test 6 

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//Groups.io Inc//Groups.io Calendar//EN 
METHOD:PUBLISH 
CALSCALE:GREGORIAN 
BEGIN:VEVENT 
UID:[email protected] 
DTSTAMP:20150318T225646Z 
DTSTART:20150321T000000Z 
DTEND:20150321T010000Z 
SUMMARY:test 6 
DESCRIPTION:5-7pm pacific time 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:test 6 
TRIGGER:-PT5H 
END:VALARM 
END:VEVENT 
END:VCALENDAR 
+0

Я не понимаю. Что вы подразумеваете, что простой текст и html и вложения должны быть частью данных vCalendar? –