我想自定义作为电子邮件附件发送的ICS事件,以便用户能够直接从邮件视图(example)查看和确认事件。以下是附件invite.ics
的样子:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example//Booking//EN
METHOD:PUBLISH
BEGIN:VEVENT
UID:3qnr@example.net
SEQUENCE:0
DTSTAMP:20180420T065714Z
DTSTART:20180518T080000Z
DTEND:20180518T090000Z
SUMMARY:Example - Booking room 21
LOCATION:Somewhere
DESCRIPTION:Room description
ORGANIZER;CN="Me":mailto:support@example.net
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE
URL;VALUE=URI:https://example.net/reservation/12
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
在这种情况下,URL不起作用(我的意思是URL属性不会给事件带来任何东西)。
我希望在这次活动中:
我深入了解了ICS规范,但它们非常复杂,并且让邮件程序实现了很多细节选项!我不是在寻找使用Google Calendar API的解决方案,因为我希望大多数现有邮件程序都支持此功能。
以下是我想要获得的示例:example (在这张图片上,我想用自定义事件更改通用事件图像,并抓住不同操作的点击次数。)
我不确定这是可能的,也许根本就没有!
提前致谢。
答案 0 :(得分:0)
让电子邮件客户端处理邀请。在上面的示例中,您需要将METHOD属性更改为" REQUEST",使用收件人的实际电子邮件地址使ATTENDEE符合要求,最后按照iMIP的规则生成您的电子邮件(请参阅例如Multipart email with text and calendar: Outlook doesn't recognize ics)。 一般情况下,接受/拒绝会触发IMIP REPLY发回组织者的电子邮件地址。
除非您针对受您控制的非常特定的客户,否则无法通过某个网址捕获并发送是/否响应。因此,如果您想要自动接受邀请,您需要在组织者的一方有一些东西来处理包含iMIP REPLY的传入电子邮件。
只要让客户显示图像等......您可以做的最接近的是使用非标准
X-ALT-DESC;FMTTYPE=text/html
属性并在此处显示HTML代码段。此属性不标准,仅适用于某些电子邮件客户端。无论如何,出于安全原因,我怀疑电子邮件客户端会让您显示外部图像。