首页 > 解决方案 > SendGrid 使用带有 template_id 的字符串替换

问题描述

我尝试通过带有 curl 调用的 SendGrid API v3 发送一封电子邮件。

我创建了一个模板并在其上引用。在这个模板中,我放置了一些要替换的变量。邮件将成功发送,但没有字符串替换。

有我发送的数据结构。我错了什么?

{“template_id”:“d-1074861686174fbfac02e25381e02e32”,“个性化”:[{“to”:[{“email”:“test@test.de”}],“sub”:{“%USERNAME%”:[” Hans"], "%DATE%": ["25.12.1988"], "%DAYS%": ["58"], }, }, ], "from": { "email": "service@test. de", "name": "Kundenservice" }, "reply_to": { "email": "support@test.de", "name": "Kundenservice" } }

标签: stringtemplatesstr-replacesendgridsendgrid-api-v3

解决方案


您要在模板中替换的变量应该在花括号中

{{ 电子邮件 }}

问题是现在替换键更改为 dynamic_template_data

 {
   "from":{
      "email":"example@.sendgrid.net"
   },
   "personalizations":[
      {
         "to":[
            {
               "email":"example@sendgrid.net"
            }
         ],
         "dynamic_template_data":{
            "name":"Sample Name",
            "city":"Place",
            "state":"CO"
          }
      }
   ],
   "template_id":"[template_id]"
}

试试这个例子,让我知道它是否适合你:)

还有官方文档,其中非常清楚地解释了整个发送过程 How to send an email with Dynamic Transactional Templates


推荐阅读