介绍
iCal 历史
- 
Versit 联盟阶段 1995 年,为了解决不同设备、不同程序之间交互个人数据(联系人、日程)困难的问题,苹果、AT&T、IBM 等公司组成 Versit 联盟,旨在制定个人信息交换(PDI)的开放标准。 
 后来,该组织设计了以下两个标准:- vCard,用于交换名片信息,包括姓名、地址、电话号码、邮箱地址等。
- vCalender,用于交换日历信息,如日程、会议等。
 基本格式都是这样,只是里面的字段定义不同: BEGIN:type key1:value1 key2:value2 END:type
- 
IMC 联盟阶段 1996 年,为了促进上面两项标准的推广,Versit 联盟将相关格式所有权移交给了互联网邮件联盟(Internet Mail Consortium,IMC)。 
 PS:IMC 可能是 Versit 联盟成员拉拢更多公司组成的一个更大的联盟。
 PS:2002 年,IMC 组织关门。IMC closed down in 2002. 
- 
IETF 阶段 1998 年,IMC 将两个标准提交给 Internet Engineering Task Force (IETF) 标准化。 
 PS:vCalendar 经过 IETF 标准化之后改名 iCalendar 了。- 1998/09, RFC2426, vCard MIME Directory Profile- 2011/08, RFC6350, vCard Format Specification
 
- 1989/11, RFC2445, Internet Calendaring and Scheduling Core Object Specification (iCalendar)
 
- 1998/09, RFC2426, vCard MIME Directory Profile
支持情况
经过测试,至少 QQ 和 网易邮箱的 WebMail 都提供了日程的支持。
Thunderbird 只能通过日历 App 打开附件 (ics 文件) 的方式添加日程。
效果

原理
在邮件中插入了一个 text/calendar 类型的附件:
Content-Type: text/calendar; charset=utf-8; method=REQUEST;
    name=ATT1547083200618.ics
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="ATT1547083200618.ics"
解析出来这样一个 iCal 文件:
BEGIN:VCALENDAR
PRODID:-//Netease//WebMail
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
SUMMARY:日程:上午十点的面试
LOCATION:小会议室
DTSTART:20190110T013000Z
DTEND:20190110T023000Z
UID:11c27eb7-adab-4549-8aea-efadcec7bb6c
SEQUENCE:0
STATUS:CONFIRMED
ORGANIZER;CN=张三:mailto:zhangsan@example.com
ATTENDEE:mailto:lisi@example.com
END:VEVENT
END:VCALENDAR
回复
这个回复就各异了,没有同意的格式。
QQ 邮件只会有一个 自动回复: xxxx,不知道是接受还是拒绝。
QQ 企业邮件会有详细的信息,附带了原日程,并有一句话:xxx 已经接受你的邀请: 日程:xxx。
