Skip to content

Instantly share code, notes, and snippets.

@jonathansanchez
Created January 8, 2018 19:35
Show Gist options
  • Save jonathansanchez/5daf5c1db024c9d32c546f11b4db9cb6 to your computer and use it in GitHub Desktop.
Save jonathansanchez/5daf5c1db024c9d32c546f11b4db9cb6 to your computer and use it in GitHub Desktop.
How to use Handlebars in Mandrill PHP
<?php
//This API https://bitbucket.org/mailchimp/mandrill-api-php
require_once 'mandrill-api-php/src/Mandrill.php';
function send($data) {
try {
$mandrill = new Mandrill('YOUR_API_KEY');
$message['to'][] = array(
'email' => $data['email'],
'name' => $data['name'],
'type' => 'to'
);
$message['auto_text'] = true;
$message['inline_css'] = true;
$message['merge'] = true;
$message['merge_language'] = 'handlebars';
$merge_vars = array(
'rcpt' => $data['email'],
'vars' => array()
);
$merge_vars['vars'][] = array(
'name' => 'name',
'content' => $data['name']
);
$merge_vars['vars'][] = array(
'name' => 'custom_text',
'content' => $data['custom_text']
);
$message['merge_vars'][] = $merge_vars;
$message['X-MC-MergeLanguage'] = json_encode(array(
'message' => $message
));
$mandrill
->messages
->sendTemplate('YOUR_TEMPLATE_NAME', null, $message, false);
return "ok";
} catch(Exception $e) {
return $e->getMessage();
}
}
$data = array(
'name' => 'Jhon Foo',
'email' => 'foo@bar.com',
'custom_text' => 'anda a laar!'
);
print send($data);
@domlat
Copy link

domlat commented Mar 23, 2023

$message['X-MC-MergeLanguage'] serves no purpose that I can see.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment