我想利用Sendgrid模板版本来支持多语言支持。
根据Sendgrid 文档:
模板一次只能有一个活动版本。如果您已经创建了一个具有不同HTML的新版本,您希望客户开始接收该版本,则需要将该版本设置为“Active”。
例如,我有两个版本的模板:English(active)和俄文。因此,如果我想发送电子邮件与俄文版本,我需要活跃的俄文模板版本,然后发送电子邮件。
但我担心的是:如果我需要同时发送俄文和英文版的电子邮件,该怎么办?是否能够为2次同时请求提供合适的版本?
发布于 2018-09-19 10:06:16
我能够实现多种语言的支持,我的电子邮件使用Sendgrid动态事务模板。这里的想法是,您应该创建事务性模板,并借助车把 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": "to_@email.com"
}
],
"dynamic_template_data": {
"subject": "Subject_translated_to_desired_language",
"russian": true
// other placeholders
}
}
],
"from": {"email": "from_@mail.com"},
"template_id":"dynamic_template_id"
}如果您将此请求发送到Sendgrid,它将以俄语向您发送电子邮件内容。
这个例子可能非常有用。
发布于 2020-01-23 08:03:13
如果我必须管理20种语言呢?我们怎么能这样处理呢?
发布于 2020-11-26 08:50:21
也许你可以尝试使用这个api。https://sendgrid.api-docs.io/v3.0/send-test-email/marketing-campaigns-send-test看起来就像你所需要的。
邮件测试api:https://api.sendgrid.com/v3/marketing/test/send_email
您可以使用下面的api获得所有版本的可用模板。https://api.sendgrid.com/v3/templates?generations=dynamic一旦有了所有的模板和版本,根据版本名称选择选择的version_id,就可以在sendgrid中添加到模板中。
https://api.sendgrid.com/v3/marketing/test/send_email在邮件测试api中,您应该能够设置以下字段。
{
"template_id": "string (required)",
"version_id_override": "string (optional)",
"sender_id": "integer (optional)",
"custom_unsubscribe_url": "string (optional)",
"suppression_group_id": "integer (optional)",
"emails": [
"string"
],
"from_address": "string (optional)"
}https://stackoverflow.com/questions/51965596
复制相似问题