在 Laravel 的邮件库中设置 SendGrid 类别
Set SendGrid category in Laravel's mail library
我正在 Laravel 中使用 SendGrid's docs 中建议的配置通过 SendGrid 发送电子邮件。
只是提供一个现在看起来如何的例子:
Mail::send('emails.demo', $data, function($message)
{
$message->to('jane@example.com', 'Jane Doe')->subject('This is a demo!');
});
电子邮件本身工作正常,但我想添加一个 SendGrid 类别。我在过去的非 Laravel 项目中使用 this repo 中的 addCategory()
方法完成了此操作。
我的问题:是否有仅使用 Laravel 邮件库添加 SendGrid 类别的简单方法,还是仅使用 SendGrid PHP 库更有意义?
我只会使用图书馆,即使它不是那么漂亮。
您可以通过添加包含类别的 X-SMTPAPI header 来执行此操作,但 Laravel 不会公开自定义 header,因此您必须下拉直接到 SwiftMailer。例如,看看 this thread
根据您的 MAIL_MAILER
(或 Laravel <7 中的 MAIL_DRIVER
)。
当MAIL_DRIVER=smtp
:
public function build()
{
return $this->view('mail')
->from('')
->subject('')
->withSwiftMessage(function($message) {
$message->getHeaders()->addTextHeader(
'X-SMTPAPI', json_encode(['category' => 'testing category'])
);
});
}
阅读有关 smtp
驱动程序的更多信息:https://docs.sendgrid.com/for-developers/sending-email/laravel#adding-a-category-or-custom-field
当MAIL_DRIVER=sendgrid
:
use Sichikawa\LaravelSendgridDriver\SendGrid;
public function build()
{
return $this->view('mail')
->from('')
->subject('')
->sendgrid(['category' => 'testing category']);
}
阅读有关 sendgrid
驱动程序的更多信息:https://github.com/s-ichikawa/laravel-sendgrid-driver
我正在 Laravel 中使用 SendGrid's docs 中建议的配置通过 SendGrid 发送电子邮件。
只是提供一个现在看起来如何的例子:
Mail::send('emails.demo', $data, function($message)
{
$message->to('jane@example.com', 'Jane Doe')->subject('This is a demo!');
});
电子邮件本身工作正常,但我想添加一个 SendGrid 类别。我在过去的非 Laravel 项目中使用 this repo 中的 addCategory()
方法完成了此操作。
我的问题:是否有仅使用 Laravel 邮件库添加 SendGrid 类别的简单方法,还是仅使用 SendGrid PHP 库更有意义?
我只会使用图书馆,即使它不是那么漂亮。
您可以通过添加包含类别的 X-SMTPAPI header 来执行此操作,但 Laravel 不会公开自定义 header,因此您必须下拉直接到 SwiftMailer。例如,看看 this thread
根据您的 MAIL_MAILER
(或 Laravel <7 中的 MAIL_DRIVER
)。
当MAIL_DRIVER=smtp
:
public function build()
{
return $this->view('mail')
->from('')
->subject('')
->withSwiftMessage(function($message) {
$message->getHeaders()->addTextHeader(
'X-SMTPAPI', json_encode(['category' => 'testing category'])
);
});
}
阅读有关 smtp
驱动程序的更多信息:https://docs.sendgrid.com/for-developers/sending-email/laravel#adding-a-category-or-custom-field
当MAIL_DRIVER=sendgrid
:
use Sichikawa\LaravelSendgridDriver\SendGrid;
public function build()
{
return $this->view('mail')
->from('')
->subject('')
->sendgrid(['category' => 'testing category']);
}
阅读有关 sendgrid
驱动程序的更多信息:https://github.com/s-ichikawa/laravel-sendgrid-driver