如何将动态数据传递到sendgrid webapp上设计的电子邮件模板? : - | Sendgrid

时间:2010-10-25 12:12:34

标签: email email-integration html-email sendgrid

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

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

代表。我在sendgrid上设计了欢迎电子邮件模板。 &安培;我想通过 动态数据到这个模板,即UserName,emailId,City等..使用java 代码? 当任何用户注册我的应用程序然后我想发送欢迎 发邮件给该用户。与UserName,emailId,City等用户的信息 等等..通过我们的数据库。

怎么办?怎么办?

2 个答案:

答案 0 :(得分:12)

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

  1. 控制SendGrid帐户的设置(即change filter settings on the fly
  2. 在单个SMTP交易中发送最多1000个收件人地址(SMTPAPI To: Array
  3. 在邮件正文(SMTPAPI Sub: Associative Array
  4. 中执行邮件合并替换

    最后,假设您通过我们的SMTP或Web API直接发送电子邮件。如果您使用我们的简报功能,则可以使用简报模板中的Custom Tags进行邮件合并替换。

    - 乔

    SendGrid

答案 1 :(得分:1)

我认为it is possible now是通过在选项中添加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