0

我从我的网站上的事件发送自动生成的电子邮件,并希望在电子邮件中创建一个“添加到日历”链接。我创建了一个包含详细信息的 .ics 文件并将其存储在我的服务器上,然后在电子邮件的 html 代码中创建了一个指向它的链接(使用 href)。当您单击电子邮件中的链接时,它会要求收件人订阅日历。我如何创建 ics 文件/代码,以便将其添加到收件人自己的日历而不是新订阅的日历中?我错过了一些明显的东西吗?

这是我做不到的吗?

这是我的 .ics 文件的内容。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
DTSTAMP:20130301T191700Z
DTSTART:20130412T190000Z
DTEND:20130412T230000Z
SUMMARY:Beer Festival
END:VEVENT
END:VCALENDAR

任何人都可以帮忙吗?
谢谢

4

3 回答 3

0

这高度依赖于接收方的操作系统和日历客户端。最后你能做的不多。电子邮件中的链接是否以 webcal:// 或 http:// 为前缀?

于 2013-03-21T11:22:22.967 回答
0

要将事件添加到用户的日历,您需要使用特制电子邮件“邀请”用户。你不能用 http 做到这一点。您的电子邮件本质上将包含与您当前链接到的相同的 Icalendar,但带有一个 ATTENDEE 元素,指定您要定位其日历的用户。您还需要在 VCALENDAR 和文本/日历电子邮件部分的标题中指定 METHOD:REQUEST。

这一切值得吗?您一次只能邀请一个活动。如果您完美地完成了这一切,您的用户仍需要接受邀请,但在被接受之前,该事件可能会在日历中显示为暂定。需要通过电子邮件将每个更改的事件的修改推送给每个感兴趣的用户。(通过 http 订阅日历可以让您发布事件的“提要”。您只需让日历文件保持最新,所有内容都会自动传播)。

如果您仍然感兴趣,这个问题可能会帮助您构建电子邮件。

于 2014-07-15T09:01:45.883 回答
0

最好使用iTIP / iMIP将 .ics 文件附加到电子邮件中,而不是将其托管在您的服务器上。这样,您可以在 iCalendar 对象(PUBLISH 或 REQUEST)中指定 METHOD,并且客户端将知道它应该被导入到收件人日历中。

于 2013-03-21T13:29:34.820 回答