@bernierllc/电子邮件日历
iCalendar(RFC 5545)生成并解析电子邮件日历邀请和响应. 生成 .ics 文件并转换为兼容所有电子邮件提供者的电子邮件附件.
安装
npm install @bernierllc/email-calendar
使用量
import { generateICS, parseICS, toEmailAttachment } from '@bernierllc/email-calendar';
// Generate a calendar invite
const ics = generateICS({
summary: 'Team Standup',
start: new Date('2026-03-01T09:00:00Z'),
end: new Date('2026-03-01T09:30:00Z'),
organizer: { name: 'Jane', email: '[email protected]' },
attendees: [
{ name: 'Bob', email: '[email protected]' },
],
location: 'Conference Room A',
});
// Convert to an email attachment
const attachment = toEmailAttachment(ics, {
filename: 'invite.ics',
method: 'REQUEST',
});
// Parse an incoming ICS file
const event = parseICS(icsString);
console.log(event.summary, event.start, event.end);
出口
generateICS()-- 从事件参数创建 iCalendar 内容parseICS()-- 将 iCalendar 内容分析为结构化的事件数据toEmailAttachment()-- 将 ICS 内容转换为电子邮件备忘附件对象CalendarError-- 有错误代码的自定义错误类- 类型 :
CalendarEvent, (中文(简体) ),CalendarAttendee, (中文(简体) ),CalendarOrganizer, (中文(简体) ),ICSGenerateOptions, (中文(简体) ),ICSParseResult和更多
提供者能力支持
本节记录日历邀请在电子邮件提供者之间如何行事, 以条条为基础 CAPABILITY_MATRIX 内 @bernierllc/email-manager。 。 。 .
提供者的能力等级
| 提供者 | calendarInvites | calendarEventMgmt | 页:1 |
|---|---|---|---|
| 发送Grid | 平台 | 平台 | SendGrid 电子邮件所附的ICS |
| 邮件枪 | 平台 | 平台 | 邮件枪电子邮件所附的ICS |
| 邮戳 | 平台 | 平台 | 邮戳电子邮件所附的ICS |
| 用户 | 平台 | 平台 | SES电子邮件所附的ICS |
| SMTP 软件 | 平台 | 平台 | SMTP电子邮件所附的ICS |
如何运作
日历邀请在 平台级别 对所有提供者。 此软件包 :
- 生成符合 RFC 5545 的 iCalendar (
.ics)内容 - 使用 MIME 附件转换 ICS 内容
@bernierllc/email-attachments - 然后通过任何提供者将附件作为普通电子邮件的一部分发送
没有提供者有本地日历邀请 API 。 ICS文件格式是一个通用的标准,电子邮件客户端(Outlook,Gmail,Apple Mail,Thunderbird等)在本地识别和处理,无论哪个电子邮件提供者发送消息.
退化行为
没有退化。 日历邀请所有提供者的工作相同,因为功能完全独立于提供者。 ICS文件是一个标准的电子邮件附件——任何可以发送附件(所有附件)的提供者都支持日历邀请.
无需要覆盖
由于此功能在平台层面为所有提供者运行并生成通用文件格式,因此没有特定提供者的行为可以被覆盖. 产出总是符合标准 .ics 附于电子邮件的文件.
许可证
版权(c)2025 Bernier有限责任公司。 版权所有.
这个包裹凭有限使用许可证发给客户. 客户只能在交付的项目范围内使用并修改此代码. 未经Bernier有限责任公司书面同意,不得再分配或用于其他产品或商业供货.