SendGrid动态模板多收件人场景下如何添加recipientName变量展示收件人姓名
SendGrid单请求多收件人动态展示专属姓名实现方案
这个需求完全可以实现,不需要将所有收件人信息写入全局统一payload,通过SendGrid邮件接口的personalizations配置项即可完成收件人维度的动态变量注入。
具体实现步骤
- 在你已有的动态模板中保留问候行配置:
Hi {{recipientName}},无需做额外修改 - 构造发信请求的payload时,不要把所有收件人统一配置在全局
to字段下,改为将每个收件人的对应配置放到personalizations数组中,每个数组元素对应一个收件人,在该元素内单独定义该收件人专属的动态参数,参考结构如下:
{ "from": {"email": "你的发件邮箱地址"}, "template_id": "你的动态模板ID", "personalizations": [ { "to": [{"email": "recipient1@example.com"}], "dynamic_template_data": { "recipientName": "张三" } }, { "to": [{"email": "recipient2@example.com"}], "dynamic_template_data": { "recipientName": "李四" } } // 更多收件人按相同格式追加即可 ] }
关键说明
- 每个
personalizations元素内的dynamic_template_data仅作用于当前元素内的收件人,不同收件人的参数互相隔离不会冲突 - 你可以继续在全局
dynamic_template_data中配置所有收件人通用的公共模板参数,若收件人专属参数和全局参数重名,会优先使用收件人专属配置 - 单个发信请求的
personalizations数组最多可包含1000个元素,即单次请求最多支持为1000个不同收件人发送携带专属动态内容的邮件
内容的提问来源于stack exchange,提问作者Adriaan Davel
相关产品推荐
相关产品推荐

