Sendgrid:使用模板版本来支持多种语言

问题描述 投票:3回答:1

我想利用Sendgrid模板版本来支持多语言支持。

根据Sendgrid documentation

模板一次只能有一个活动版本。如果您创建的新版本具有您希望客户开始接收的不同HTML,则需要将该版本设置为“活动”。

所以,例如我有2个版本的模板:英语(活跃)和俄语。因此,如果我想发送俄语版的电子邮件,我需要在发送电子邮件之前激活俄语模板版本。

但我关注的是:如果我需要同时发送俄语和英语版本的电子邮件怎么办? Send Sendgr是否能够为2个同时请求提供正确的版本?

email sendgrid sendgrid-api-v3 sendgrid-templates
1个回答
1
投票

我能够使用Sendgrid Dynamic Transactional Templates为我的电子邮件实现多语言支持。这里的想法是你应该创建事务模板并在handlebars if/else条件语句的帮助下进行设计。例如:为模板添加英语和俄语支持可以如下所示:

 <table>
      <tbody>
        {{#if english}}
        <tr>
          <td>
            <div style="text-align: center;"><span style="color:#7a7a7a;"><span style="font-size:12px;">My web site in social networks</span></span></div>
        </td>
      </tr>
      {{else if russian}}
         <tr>
           <td>
            <div style="text-align: center;"><span style="color:#7a7a7a;"><span style="font-size:12px;">Мой Веб сайт в социальных сетях</span></span></div>
        </td>
      </tr>
      {{/if}}
      </tbody>
    </table>

然后请求应包含:

{
    "personalizations": [
    {
      "to": [
        {
          "email": "[email protected]"
        }
      ],
      "dynamic_template_data": {
        "subject": "Subject_translated_to_desired_language",
        "russian": true
        // other placeholders
      }
    }
  ],

  "from": {"email": "[email protected]"},
  "template_id":"dynamic_template_id"
}

如果您将此请求发送给Sendgrid,它将向您发送俄语电子邮件内容。

This example非常有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.