我使用Django和python-icalendar生成iCalendar文件,並且它們在Outlook(2010)中正確顯示爲會議邀請。在Gmail(Google Apps)中,我只看到一封空白的電子郵件。這是怎麼回事?下面是我的.ics文件一個樣子:如何獲得與Gmail/Google Apps正確集成的會議邀請?
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-//My Events App//example.com//
VERSION:2.0
BEGIN:VEVENT
ATTENDEE;CN=Richard;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:[email protected]
CREATED;VALUE=DATE:20101122T183813
DESCRIPTION:Phone number: (212)-123-4567\n\nThis is a test description
for the conference call.
DTEND;VALUE=DATE:20101127T131802Z
DTSTAMP;VALUE=DATE:20101127T121802Z
DTSTART;VALUE=DATE:20101127T121802Z
LAST-MODIFIED;VALUE=DATE:20101122T183813
ORGANIZER;CN=Example.com:[email protected]
SEQUENCE:1
SUMMARY:Conference call about GLD
UID:example.com.20
END:VEVENT
END:VCALENDAR
哦,我使用的Django的EmailMultiAlternatives到ICS內容連接,就像這樣:
if calendar:
message.attach_alternative(calendar.as_string(), "text/calendar; method=REQUEST; charset=\"UTF-8\"")
message.content_subtype = 'calendar'
查看相關[post](http://stackoverflow.com/questions/4397938/attaching-an-ical-file-to-a-django-email)。該解決方案使用「附件」而不是「替代」,看起來像它在谷歌上的作品。 – 2011-03-09 21:56:53
@equinoxel但是由於使用「附件」而不是「替代」或使用`vobject`而不是`icalendar`。我非常喜歡Plone集體開發[icalendar](http://pypi.python.org/pypi/icalendar)。我總是喜歡它的API,而不是圍繞vobject形成的RFC的薄層。 – 2012-09-11 10:27:42