好吧,我想在每个星期五使用MailChimp / Mandrill发送自动电子邮件。
电子邮件模板:
Hi {{firstName}},
You weekly weekend pass is {{code}}.
在这里,我的电子邮件内容是动态生成的。因此,在发送自动电子邮件之前,应该有某种机制可以在我获取firstName和代码的地方调用rest api。然后,电子邮件将发送给其他用户。
{
[{
firstName: 'test',
code: 'Xewetwerx'
},
{
firstName: 'test2',
code: 'Xewetwrtd'
}]
}
我知道我们可以在后端服务器中编写代码,并在每个星期五使用cronjob调用API(每个星期五发送一封电子邮件),但是我不想使用任何cronjob。
是否可以使用MailChimp或mandrill进行API调用并发送自动邮件?
结果: 2封电子邮件应使用不同的代码发送。
答案 0 :(得分:0)
Mandrill 通过 sent_at
参数实现 scheduled emails。
可以 send an email using a template 并指定日期和时间应以 YYYY-MM-DD HH:MM:SS 格式的 UTC 时间戳发送消息。如果您指定过去的时间,消息将立即发送。请注意,对于 sent_at 功能,您需要一个付费(非免费)帐户
如果您选择 PHP 作为后端的编程语言, 您可以使用 official PHP API library。
示例:(代码未经测试,可能包含错误)
require_once '/path/to/MailchimpTransactional/vendor/autoload.php';
$mailchimp = new MailchimpTransactional\ApiClient();
$mailchimp->setApiKey('YOUR_API_KEY');
$msg = array(
'subject' => 'My subject',
'from_email' => 'ellery@example.com',
'to' => array(array('email' => 'recipient1@example.com', 'name' => 'Recipient 1'),array('email' => 'recipient2@example.com', 'name' => 'Recipient 2')),
'merge_vars' => array(array(
'rcpt' => 'recipient1@example.com',
'vars' =>
array(
array(
'name' => 'firstName',
'content' => 'test'),
array(
'name' => 'code',
'content' => 'Xewetwerx')
)),
array(
'rcpt' => 'recipient2@example.com',
'vars' =>
array(
array(
'name' => 'firstName',
'content' => 'test2'),
array(
'name' => 'code',
'content' => 'Xewetwrtd')
))));
$response = $mailchimp->messages->sendTemplate([
"template_name" => "template_name",
"template_content" => [[]],
"message" => $msg,
"send_at" => "2021-06-23 09:05:00" ,
]);
print_r($response);