在Laravel的邮件库中设置SendGrid类别

时间:2015-10-22 18:04:52

标签: php email laravel laravel-5 sendgrid

我使用SendGrid's docs中建议的配置,通过SendGrid在Laravel中发送电子邮件。

只是提供一个现在看起来如何的例子:

Mail::send('emails.demo', $data, function($message)
{
    $message->to('jane@example.com', 'Jane Doe')->subject('This is a demo!');
});

电子邮件本身工作正常,但我想添加一个SendGrid类别。我使用this repo中的addCategory()方法在过去的非Laravel项目中完成了这项工作。

我的问题:是否有一种简单的方法可以使用Laravel邮件库添加SendGrid类别,或者只使用SendGrid PHP库更有意义吗?

3 个答案:

答案 0 :(得分:2)

我会使用该库,即使它不是那么漂亮。

答案 1 :(得分:0)

您可以通过添加包含类别的X-SMTPAPI标头来执行此操作,但Laravel不会公开自定义标头,因此您必须直接下拉到SwiftMailer。例如,请查看this thread

答案 2 :(得分:0)

我找到了一个很好的解决方案来使它起作用:

可邮寄合同内:

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    return $this->view('mail')
        ->from('')
        ->subject('')
        ->withSwiftMessage(function($message) {
            $message->getHeaders()->addTextHeader(
                'X-SMTPAPI', json_encode(['category' => 'testing category'])
            );
        });
}