javascript - 无法为 Outlook 获取正确的 .ics 格式以将其识别为请求
问题描述
我正在处理确认电子邮件,我需要通过邮件发送 .ics 请求,询问客户我们是否可以在特定时间交付。当我对此进行测试时,我无法从 Outlook 做出响应。当我尝试使用我的 gmail 地址时,我可以完美回复。我在想,也许我的格式是错误的?
我正在使用这个 ics 库
以下是相关代码:
const event = {
start: [
startDate.getFullYear(),
startDate.getMonth() + 1,
startDate.getDate(),
startDate.getHours(),
startDate.getMinutes(),
],
end: [
endDate.getFullYear(),
endDate.getMonth() + 1,
endDate.getDate(),
endDate.getHours(),
endDate.getMinutes(),
],
organizer: {
name: "Test Test",
email: "souf@test.test", //for testing
},
method: "REQUEST",
title: `${deal.title} (${deal.reference})`,
description: deal.summary,
location: addressToString(customer.address),
status: "CONFIRMED",
attendees: [{
name: "Test",
email: "kri@test.test",
rsvp: true,
role: 'REQ-PARTICIPANT',
partstat: 'NEEDS-ACTION',
}],
};
然后从记事本中读出的输出是:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:adamgibbons/ics
METHOD:REQUEST
X-PUBLISHED-TTL:PT1H
BEGIN:VEVENT
UID:dadb3c31-25e9-4026-9878-c1001f4e9a39
SUMMARY:Offerte V1 LG / 1 buiten unit & 1 binnen unit (P4660)
DTSTAMP:20201012T135254Z
DTSTART:20201015T070000Z
DTEND:20201015T150000Z
LOCATION:
STATUS:CONFIRMED
ORGANIZER;CN=Test Test:mailto:souf@test.test
ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=Test:mailt
o:kri@test.test
END:VEVENT
END:VCALENDAR
解决方案
邮件必须将上面的 VCALENDAR 作为唯一的 MIME 部分,而不是附件。消息内容类型必须是“文本/日历”
推荐阅读
- html - 在单独的类上运行 jQuery 函数
- neo4j - 删除前一个节点和关系,指向当前具有相同关系的节点
- cordova - 如何将 MiniATM SDK 与 Ionic 应用程序集成
- javascript - next.js 构建时间很慢。我怎样才能让它们更快?
- python - How do you separate a column with words not separated at all. The data loaded from pd.read_table?
- flutter - 创建适用于 android 和 ios 的自适应 ui 的最佳方法是什么
- git - 一个分支的变化反映在所有分支中
- spartacus-storefront - 我想将页面显示为类别页面,因为所有页面都作为内容页面加载
- c# - 如何在asp中具有不同参数的另一个事件处理程序中调用事件处理程序?
- java - 如何用大括号分割字符串?