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

使用SendGrid v3 API发送的AMP邮件无法正常加载问题

问题分析与修复方案

核心问题根源

你在请求中同时传入了content字段(硬编码了仅显示“Hello”的AMP内容)和template_id,这两者存在优先级冲突:SendGrid会优先使用你手动指定的content覆盖模板生成的内容。而Gmail的预览与实际打开的渲染逻辑差异,导致了矛盾现象:

  • 收件箱预览:可能读取了模板生成的HTML摘要或缓存内容,显示正常
  • 打开邮件:实际加载的是content里的硬编码AMP内容,仅显示Hello
  • 转发时:邮件客户端会重新解析并封装内容,模板的原始AMP内容被正确提取渲染

修复步骤

  1. 移除冗余的content字段
    既然使用SendGrid模板发送AMP邮件,无需手动传入content,模板会自动生成对应格式的内容。修正后的请求体如下:
{
    "personalizations": [
        {
            "to": [
                {
                    "email": "name@domain.com",
                    "name": "Name Surname"
                }
            ],
            "subject": "this is an AMP email"
        }
    ],
    "template_id": "f-5kk76740d084490a88d376fc1b1b277g",
    "from": {
        "email": "name2@domain.com",
        "name": "Name 2"
    }
}
  1. 验证模板的AMP配置
    登录SendGrid后台检查模板:
  • 进入模板编辑器,切换到AMP标签页
  • 确认AMP代码符合amp4email规范:包含<script async src="https://cdn.ampproject.org/v0.js"></script>和 boilerplate样式(<style amp4email-boilerplate>body{visibility:hidden}</style>)
  1. 测试邮件渲染
    重新发送测试邮件,打开后查看AMP内容是否正常加载;若仍有问题,可通过Gmail的“显示原始邮件”功能,检查text/x-amp-html部分是否为模板生成的内容。

补充说明

转发时内容正常的原因:邮件转发过程中,客户端会重新处理邮件内容,跳过原始邮件中被覆盖的AMP部分,直接使用模板渲染后的完整内容进行封装,因此能正确显示模板内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 00:24:52