Laravel 4 & Mandrill JSON 响应

Posted

技术标签:

【中文标题】Laravel 4 & Mandrill JSON 响应【英文标题】:Laravel 4 & Mandrill JSON response 【发布时间】:2014-11-02 02:51:20 【问题描述】:

这些天我已经开始通过 Laravel (4.2) 及其嵌入式 Mandrill 驱动程序发送邮件,但我需要以某种方式捕捉 Mandrill 的响应。

这是我用来发送消息的代码:

Mail::queue('emails.customerspromo', array('messaggio'=>$content, 'disclaimer'=>$disclaimer, 'user_email'=>$to, 'user_id'=>$uid), function($message) use ($sender, $to, $subject) 
    $message->from('my@address.it', $sender);
    $message->to($to);
    $message->subject($subject);
    $message->setCharset('UTF-8');
    $message->getHeaders()->addTextHeader('X-MC-GoogleAnalytics', 'www.my-site.it');
    $message->getHeaders()->addTextHeader('X-MC-GoogleAnalyticsCampaign', 'my-campaign');
);

我需要拦截的是Mandrill的JSON响应,例如:

[
    
        "email": "destination@address.com",
        "status": "sent",
        "_id": "80e1ca49d3ed4cbb9d9a3d932c0a14f8",
        "reject_reason": null
    
]

如何使用 Laravel 的 Mandrill 集成驱动程序做到这一点?

如果需要实时解释响应,我可以使用 Mail::send 而不是 Mail::queue。

【问题讨论】:

【参考方案1】:

在您的邮件函数之前放置一个变量,如下所示:

$response = Mail::queue('emails.customerspromo', array('messaggio'=>$content, 'disclaimer'=>$disclaimer, 'user_email'=>$to, 'user_id' =>$uid), function($message) 使用 ($sender, $to, $subject) $message->from('my@address.it', $sender); $message->to($to); $消息->主题($主题); $message->setCharset('UTF-8'); $message->getHeaders()->addTextHeader('X-MC-GoogleAnalytics', 'www.my-site.it'); $message->getHeaders()->addTextHeader('X-MC-GoogleAnalyticsCampaign', 'my-campaign'); );

它仍然可以工作,但现在您可以看到 mandrill 的响应。

【讨论】:

以上是关于Laravel 4 & Mandrill JSON 响应的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 4 中安排 Mandrill 邮件?

无法使用 laravel + mandrill 发送 html 电子邮件

Laravel 5.2 重置密码 + Mandrill

Laravel - 不使用 mandrill 发送的电子邮件

通过 Laravel / PHP 的 Mandrill 入站电子邮件

无法通过 Mandrill 发送密件抄送电子邮件(通过 Laravel)