15

我将 sendgrid 电子邮件服务与我的示例应用程序集成在一起。& 还能够向用户发送电子邮件。

但是如何将动态数据传递给 sendGrid webapp 上的电子邮件模板设计? 有没有办法将动态数据发送到在 sendgrid 上设计的电子邮件模板?

例如。我在 sendgrid 上设计了欢迎电子邮件模板。&我想将动态数据传递给此模板,即 UserName 、 emailId 、 City 等。使用 java 代码?当任何用户注册我的应用程序时,我想向该用户发送欢迎电子邮件。通过我们的数据库获取用户名、emailId、城市等用户信息。

该怎么办 ?怎么做 ?

4

2 回答 2

12

不要专注于通过电子邮件模板应用程序进行替换(这是不可能的),您应该看看SMTPAPI。通过在邮件中添加 X-SMTPAPI 标头,您可以

  1. 控制您的 SendGrid 帐户的设置(即即时更改过滤器设置
  2. 在单个 SMTP 事务中最多发送 1000 个收件人地址(SMTPAPI To: Array
  3. 在邮件正文中执行类似邮件合并的替换(SMTPAPI Sub: Associative Array

最后,这是假设您通过我们的 SMTP 或 Web API 直接发送电子邮件。如果您使用我们的时事通讯功能,则可以通过在时事通讯模板中使用自定义标签来进行类似邮件合并的替换。

——乔

发送网格

于 2010-10-25T14:41:59.387 回答
1

我认为现在可以通过在选项中添加一个substitutions键。我还添加了to密钥,因为该密钥是强制性的。

$request_body = json_decode('{
  "personalizations": [
    {
      "substitutions": {
        "-first_name-": "John",
        "-last_name-": "Doe"
      },
      "to": [
        {
          "email": "john.doe@example.com",
          "name": "John Doe"
        }
      ]
    }
  }
}');
$response = $sg->client->mail()->send()->post($request_body);
echo $response->statusCode();
echo $response->body();
print_r($response->headers());

Sendgrid 中的模板如下所示:

Dear -first_name- -last_name-,

Foo bar...

Kind Regards
于 2017-07-13T13:41:47.213 回答