Substitution Tags

Substitution Tagは宛先ごとに動的コンテンツを生成することを可能にします。複数の受信者に対してSMTPAPIを通じてメールを送信する際、宛先毎にSubstitution Tagを指定することができます。メール本文の最初の部分に名前が挿入する場合、以下のような文字列は各宛先に届く際にはその人の名前に置換されます。

1
"Dear -firstName-"

これらのタグはより複雑な場面で利用することができます。例えば、-customerID- をユーザ毎に生成することができます。

メール内のURLに含まれる -customerID- を顧客を特定するIDで置換することができます。

1
<a href="http://example.com/customerOffer?id=-customerID-">Claim your offer!</a>

Substitution Tagは本文と同様、件名、Unique Argumentsでも動作します。

どのようにSubstitution Tagをフォーマットするかは、SMTP接続を生成するライブラリや、コードを記述している言語や、メールを送信する中間サーバなどに依存します。いくつかのケースでは、-subVal- が最も良い選択となる場合がありますが、 %subVal% や #subVal# が良い選択となる場合があります。<や>、&などHTMLで特別な意味を持つ文字列を避けることを推奨します。これらの文字列はエンコード対象されてしまい、期待通り置換されない可能性があります。

Substitution Tag内ではスペースは使用しないでください。
(%first name%などのように)

Substitution内でSubstitution Tagをネストすることはできません。ネストすると置換は行われません。

Substitution tagの例

メールのHTMLコンテンツ:

1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
  <head></head>
  <body>
    <p>Hello -name-,<br>
       Thank you for your interest in our products. I have set up an appointment to call you at -time- EST to discuss your needs in more detail. If you would like to reschedule this call please visit the following link: `<a href="http://example.com/reschedule?id=-customerID-">reschedule</a>`

                Regards,

                -salesContact-
                -contactPhoneNumber-<br>
    </p>
  </body>
</html>

X-SMTPAPIのJSONヘッダは次のようになります:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
  "to": [
    "example@example.com",
    "example@example.com"
  ],
  "sub": {
    "-name-": [
      "John",
      "Jane"
    ],
    "-customerID-": [
      "1234",
      "5678"
    ],
    "-salesContact-": [
      "Jared",
      "Ben"
    ],
    "-contactPhoneNumber-": [
      "555.555.5555",
      "777.777.7777"
    ],
    "-time-": [
      "3:00pm",
      "5:15pm"
    ]
  }
}

最終的なJohn宛のメールは以下のようになります:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
  <head></head>
  <body>
    <p>Hello John,<br>
       Thank you for your interest in our products. I have set up an appointment
             to call you at 3:00pm EST to discuss your needs in more detail. If you would like to reschedule this call please visit the following link:
             <a href="http://example.com/reschedule?id=1234">reschedule</a>

                Regards,

                Jared
                555.555.5555<br>
    </p>
  </body>
</html>

最終的なJane宛のメールは以下のようになります:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
  <head></head>
  <body>
    <p>Hello Jane,<br>
       Thank you for your interest in our products. I have set up an appointment
             to call you at 5:15pm EST to discuss your needs in more detail. If you would like to reschedule this call please visit the following link:
             <a href="http://example.com/reschedule?id=5678">reschedule</a>

                Regards,

                Ben
                777.777.7777<br>
    </p>
  </body>
</html>

SendGridが定義しているSubstitution Tags

SMTPAPI(X-SMTPAPI)で送信時にタグを指定することができますが、SendGridが予め定義している配信停止関連の置換タグもあります。これらのタグがメールコンテンツ内で利用できます。

追加のリソース