Ical活动不会在收件人电子邮箱中显示为卡片

时间:2018-03-26 14:44:57

标签: javascript node.js icalendar sendgrid

我尝试使用iCalender标准向用户发送日历活动。我希望他们的收件箱能够自动检测事件并将其显示给用户,如下图所示。

enter image description here

我的isc数据是

BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:adamgibbons/ics
BEGIN:VEVENT
UID:a8b44b40-30fc-11e8-9cdf-ab421c95fe5f
SUMMARY:Test Event
DTSTAMP:20180326T125000Z
DTSTART:20180529
DTEND:20180530
DESCRIPTION:This is a test event
LOCATION:Somewhere in a building...
STATUS:CONFIRMED
ORGANIZER;CN=Admin:mailto:test@test.com
ATTENDEE;RSVP=TRUE;CN=test@test.com:mailto:test@test.com
END:VEVENT
END:VCALENDAR

我正在使用节点包' ics'制作ics数据和以下代码来发送电子邮件。

var encodedEvent = Base64.encode(event)
    var msg = {
        to: to,
        from: from,
        subject: 'Registration an Event',
        text: 'Thanks for registering for an event.',
        html: '<strong>Thanks for registering for an event.</strong>',
        attachments: [{
            content: encodedEvent,
            filename: 'invite.ics',
            type: 'text/calendar',
            disposition: 'attachment',
            contentId: 'mytext'
        }],
        headers: {
            method: "REQUEST"
        }
    }
    sgMail.setApiKey(apiKey)
    sgMail.send(msg)
        .then( (data) => { console.log("data", data) })
        .catch( (err) => { console.log("Error:", err) })

现在SendGrid正在发送电子邮件,电子邮件中包含附件&#34; invite.ics&#34;但收件箱似乎无法检测到它。根据我的研究,它可能是标题的一个问题,但我不确定,我到目前为止尝试了一些事情,没有。

有什么想法吗?

0 个答案:

没有答案