I integrated sendgrid email service with my sample application. & also able to send email to user.
But how to pass dynamic data to Email template design on se
I think it is possible now, by adding a substitutions
key in the options. I also added the to
key because that one is mandatory.
$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());
Template in Sendgrid looks like this:
Dear -first_name- -last_name-,
Foo bar...
Kind Regards
Instead of focusing on substitution via the Email Template application (which is not possible), You should take a look at the SMTPAPI. By adding a X-SMTPAPI header in your message, you can
Finally this is assuming you are sending email directly via our SMTP or Web API. If you are using our newsletter feature, mail-merge like substitution is possible by using Custom Tags in the newsletter template.
-- Joe
SendGrid