You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加.ics附件后Mailjet邮件模板失效,仅附件发送的问题求助

问题解决思路
  • 核心问题:你当前把日历内容作为邮件的主体内容传入,这会覆盖邮件模板的内容,导致邮件被识别为纯日历类型,完全忽略模板里的文本、图片等元素。
  • 正确做法:将.ics文件作为附件添加到邮件中,而非替换邮件主体内容。

调整后的代码示例

假设你的sendMailjetTemplate方法支持传入附件参数(若当前方法不支持,需扩展实现以处理附件):

const event = await this.calendarService.getEventForDelivery(deliveryId);

// 将日历内容作为附件传入,保留模板主体内容
await this.sendMailjetTemplate('4069368', d.email, [], {
  ASN: d.identifier,
  attachments: [{
    ContentType: 'text/calendar',
    Filename: 'delivery-schedule.ics',
    Base64Content: Buffer.from(event).toString('base64') // 转为Base64编码(MailJet要求附件采用该格式)
  }]
});

关键说明

  • 邮件模板的原有内容(文本、图片)需通过sendMailjetTemplate的内容参数保留,或维持模板默认内容,不要用日历内容替换主体。
  • MailJet API要求附件内容必须是Base64编码字符串,因此需要把生成的ICS文本转换为对应格式。
  • 如果你的sendMailjetTemplate方法未暴露附件参数,需修改方法实现,在调用MailJet API时添加Attachments字段,传入附件数组。

内容的提问来源于stack exchange,提问作者bchoffart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:09:28