2013-03-19 37 views
0

我發送自動生成的來自我網站事件的電子郵件,並希望在電子郵件中創建「添加到日曆」鏈接。我創建了一個包含詳細信息的.ics文件,並將其存儲在我的服務器上,然後在電子郵件的html代碼中創建一個鏈接(使用href)。當您點擊電子郵件中的鏈接時,它會要求收件人訂閱日曆。我如何創建ics文件/代碼,以便將其添加到收件人自己的日曆中,而不是新訂閱的日曆?我錯過了明顯的東西嗎?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 

任何人都可以幫忙嗎?
謝謝

+0

你可以看看這個:http://stackoverflow.com/a/14648531/1167333 – oberron 2013-03-19 14:53:00

回答

0

這高度依賴於接收方的操作系統和日曆客戶端。你沒有太多的事情可以做到。 電子郵件中的鏈接是否以webcal://或http://爲前綴?

0

將.ics文件附加到電子郵件使用iTIP/iMIP而不是託管在您的服務器上可能更好。這樣,您可以在iCalendar對象(PUBLISH或REQUEST)中指定METHOD,並且客戶端將知道它應該被導入到收件人日曆中。

0

要將事件添加到用戶的日曆中,您需要使用特製電子郵件「邀請」用戶。你不能用http來做到這一點。您的電子郵件基本上包含與您當前鏈接到的Icalendar相同的Icalendar,但帶有一個ATTENDEE元素,用於指定您要定位其日曆的用戶。您還需要在VCALENDAR和文本/日曆電子郵件部分的標題中指定METHOD:REQUEST。

這一切都值得嗎?您一次只能邀請一個活動。如果您完全做到了這一點,您的用戶仍然需要接受邀請,但該活動可能會在日曆中顯示爲暫定狀態,然後纔會被接受。需要通過電子郵件將修改事件推送給每個感興趣的用戶。 (通過http訂閱日曆可以發佈事件的「提要」,只需讓日曆文件保持最新狀態,一切都會自動傳播)。

如果您還有興趣,this question可能會幫助您構建電子郵件。

相關問題