gpt4 book ai didi

php - 设置 Mandrill 模板 Laravel

转载 作者:可可西里 更新时间:2023-11-01 13:42:46 26 4
gpt4 key购买 nike

我正在尝试在默认的 Laravel 4 Mailer 中发送 Mandrill 电子邮件,我想设置模板并将数据发送到 Mandrill。我不想在我的 Laravel 中使用本地文件,我已将其全部设置为在 Mandrill 中工作。这就是我在 Laravel 中设置它的方式:

    Mail::send('emails.test',[],function($message)
{
$message->to(Input::get('email'), 'John Smith')->subject('Welcome!');
});
return

这会像它应该的那样从“电子邮件”内的“测试” View 发送一封电子邮件。在使用 Mandrill 库的普通 PHP 中,这可以发送到我想要的模板。

$message = array(
'subject' => 'Subject redacted',
'from_email' => $main_email,
'to' => array(array('email' => $to_email)),
'merge_vars' => array(array(
'rcpt' => $to_email,
'vars' =>
array(
array(
'name' => 'DETAIL',
'content' => $detail),
array(
'name' => 'ERROR_AMOUNT',
'content' => '$'.$trans_amount)
,
array(
'name' => 'CO_NAME',
'content' => $business_name),

array(
'name' => 'SMS',
'content' => $sms)
))));

$template_name = 'Test Email';

$template_content = array(
array(
'name' => 'main',
)
);

$response = $mandrill->messages->sendTemplate($template_name, $template_content, $message);

最佳答案

作为替代方案,您可以使用 Laravel 的 Mandrill 函数设置 X-MC-MergeVars 和 X-MC-Template header 。

Mail::send('emails.test', [], function($message) use ($mergevars)
{
$headers = $message->getHeaders();
$headers->addTextHeader('X-MC-MergeVars', json_encode($mergevars));
$headers->addTextHeader('X-MC-Template', 'my-template');

$message->to(Input::get('email'), 'John Smith')->subject('Welcome!');
});

请注意,我还没有对此进行测试 - 只是根据我在此处阅读的内容进行测试:Using SMTP Headers to customize your messages .

您可能需要使用 addTextHeader 以外的其他东西 - 请查阅 Swiftmailer 文档以了解如何为您设置的数据添加正确的 header 类型。

关于php - 设置 Mandrill 模板 Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25414561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com