15

sendgridメールサービスをサンプルアプリケーションと統合しました。&ユーザーにメールを送信することもできます。

しかし、sendGrid WebアプリのEメールテンプレートデザインに動的データを渡す方法は? sendgridで設計された電子メールテンプレートに動的データを送信する方法はありますか?

例:sendgridでウ​​ェルカムメールテンプレートをデザインしました。&Javaコードを使用して、このテンプレート、つまりUserName、emailId、Cityなどに動的データを渡したいですか?ユーザーが私のアプリケーションに登録したら、そのユーザーにウェルカムメールを送信したいと思います。UserName、emailId、Cityなどのユーザーの情報をデータベースから取得します。

何をすべきか ?実行する方法 ?

4

2 に答える 2

12

電子メールテンプレートアプリケーションを介した置換に焦点を当てる代わりに(これは不可能です)、SMTPAPIを確認する必要があります。メッセージにX-SMTPAPIヘッダーを追加することで、次のことができます。

  1. SendGridアカウントの設定を制御します(つまり、フィルター設定をその場で変更します
  2. 1回のSMTPトランザクションで最大1000の受信者アドレスに送信します(SMTPAPI To:Array
  3. メール本文でメールマージのような置換を実行します(SMTPAPI Sub:Associative Array

最後に、これは、SMTPまたはWebAPIを介して直接電子メールを送信していることを前提としています。ニュースレター機能を使用している場合は、ニュースレターテンプレートのカスタムタグを使用することで、メールマージのような置換が可能です。

-ジョー

SendGrid

于 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 に答える