修改SendGrid动态模板后API发送邮件仍用旧资源的原因及解决办法
SendGrid模板修改后API发送仍用旧图片地址的问题解决
可能原因
- API硬编码了旧模板版本ID:SendGrid模板支持多版本管理,若自研系统的API请求里写死了旧的版本ID,而非调用模板的活跃版本,会导致邮件渲染旧内容。
- 模板仅保存草稿未发布:编辑模板后仅点击「Update」保存草稿,但未点击模板页面的「Publish」按钮将修改后的版本设为活跃版本。Web端预览和单发送件可能调用草稿版本,但API默认只会使用已发布的活跃版本。
- API请求覆盖了模板内容:若自研系统的API请求中,通过
dynamic_template_data或其他参数传入了旧的Logo图片地址,会直接覆盖模板中修改后的src值。
解决步骤
- 更新API的模板版本ID:
- 登录SendGrid后台打开目标模板,找到最新版本的ID(在版本列表中可查看)。
- 将自研系统API请求里的
template_id替换为该最新版本ID;或直接使用模板的主ID(不指定版本时,默认调用活跃版本)。
- 确认模板已发布:
回到模板编辑页面,检查修改后的版本右上角是否显示「Published」状态,若为「Draft」,点击「Publish」完成发布。 - 排查API请求参数:
查看自研系统发送的API请求体,确认dynamic_template_data或邮件正文相关参数中,未包含覆盖Logo图片src的字段。若存在旧地址字段,删除该字段或更新为自有域名地址。
内容的提问来源于stack exchange,提问作者Don R
相关产品推荐
相关产品推荐

