node.js - Nodemailer 和 ical-generator - 发送日历邀请

标签 node.js express icalendar nodemailer

我想发送日历邀请。我正在使用 Nodemailerical-generator 生成 ical 文件。一切正常,但电子邮件不会自动将邀请添加到日历,而是我可以选择 Add to calendar。但我希望电子邮件直接将事件添加到日历。

这就是电子邮件的样子 -

enter image description here

我的代码是这样的。

此代码转换为 ical 文件,并与 Nodemailer icalEvent 一起使用以发送它。

    const content = ical({
    domain: 'google.com',
    method: 'PUBLISH',
    prodId: '//Google Inc//Google Calendar 70.9054//EN',
    timezone: 'Australia/Brisbane',
    scale: 'GREGORIAN',
    events: [
      {
        start: moment(),
        status: 'CONFIRMED',
        end: moment().add(1, 'hour'),
        summary: 'Calendar invite test',
        transparency: 'OPAQUE',
        organizer: {
          name: 'Organiser name',
          email: 'ttt@gmail.com',
          mailto: 'ttt@gmail.com'
        },
        location: 'Zoom',
        attendees: [
          {
            email: 'my-email-address@gmail.com',
            name: 'Shashank Kumar',
            status: 'NEEDS-ACTION',
            rsvp: true,
            type: 'INDIVIDUAL',
            role: 'REQ-PARTICIPANT'
          },
          {
            email: 'mno@gmail.com',
            name: 'Mike Jack',
            status: 'NEEDS-ACTION',
            type: 'INDIVIDUAL',
            role: 'REQ-PARTICIPANT'
          },
          {
            email: 'xyz@gmail.com',
            name: 'Will Paul',
            status: 'NEEDS-ACTION',
            type: 'INDIVIDUAL',
            role: 'REQ-PARTICIPANT'
          }
        ]
      }
    ]
  }).toString();

然后我使用 Nodmailer 发送 icalEvent

message: {
  to: toEmail,
  headers: {
    'x-invite': {
      prepared: true,
      value: id
    }
  },
  icalEvent: {
    filename: 'invite.ics',
    method: 'PUBLISH',
    content: content
  }
},

最佳答案

您只需要使用“REQUEST”而不是“PUBLISH”作为方法,这将自动添加到您的日历并显示确认按钮

关于node.js - Nodemailer 和 ical-generator - 发送日历邀请,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67293225/

相关文章:

node.js - 在 React 中设置 PayPal 客户端单一支付

email - 使用 Outlook smtp 服务器发送 ics 文件 RSVP 格式无法正常工作?

angularjs - 我应该将 Angular 用于仅限本地的 NW.js 项目吗?

javascript - 无法使用 MEAN 堆栈显示图像

javascript - 找不到模块 : Can't resolve 'readline'

javascript - ExpressJS : Strange String Comparation

javascript - NODE 中同时 GET 和 POST 请求

javascript - Node js错误[ERR_HTTP_HEADERS_SENT] : Cannot set headers after they are sent to the client and no javascript object in console

php - 动态创建 .ics 文件并作为电子邮件附件发送

php - Ical VALARM 未注册