mixislv / laravel-mandrill-driver
Laravel 9+ Mandrill 驱动程序与 Webhooks 处理程序
v2.1.0
2022-12-07 08:58 UTC
Requires
- php: ^8.0
- illuminate/routing: ^9.0
- illuminate/support: ^9.0
- symfony/http-client: ^6.0
- symfony/mailchimp-mailer: ^6.0
README
此包通过 Laravel 9+ 中的 Mail 门面重新启用 Mandrill 驱动程序功能。
安装
要在项目中安装此包,您需要通过 composer 需求此包
composer require mixisLv/laravel-mandrill-driver
配置
要使用 Mandrill 驱动程序,将 MAIL_MAILER 环境变量设置为 "mandrill"。然后,更新 config/services.php 配置文件以包含以下选项
'mandrill' => [ 'secret' => env('MANDRILL_SECRET'), 'webhook-key' => env('MANDRILL_WEBHOOK_KEY'), ],
用法
发送电子邮件
https://laravel.net.cn/docs/9.x/mail#generating-mailables
您还可以为发送的每封电子邮件添加自定义 Mandrill 标题。 https://laravel.net.cn/docs/9.x/mail#customizing-the-symfony-message
// @todo use Symfony\Component\Mime\Email; /** * Build the message. * * @return $this */ public function build() { $this->view('emails.example'); $this->withSymfonyMessage(function (Email $message) { $message->getHeaders()->addTextHeader( 'Custom-Mailchimp-Header', 'Header Value' // @see https://mailchimp.com/developer/transactional/docs/smtp-integration/#customize-messages-with-smtp-headers ); }); return $this; }
监听响应
// @todo
Webhooks
从 eventhomes/laravel-mandrillhooks 分支而来
- 创建一个继承自 MandrillWebhookController 的控制器。然后,您可以处理任何 Mandrillapp webhook 事件。
use mixisLv\LaravelMandrillDriver\MandrillWebhookController; class MandrillController extends MandrillWebhookController { /** * Handle a hard bounced email * * @param $payload */ public function handleHardBounce($payload) { $email = $payload['msg']['email']; } /** * Handle a rejected email * * @param $payload */ public function handleReject($payload) { $email = $payload['msg']['email']; } }
- 创建处理 webhook 的路由。在您的 routes.php 文件中添加以下内容。
Route::post('mandrill-webhook', ['as' => 'mandrill.webhook', 'uses' => 'MandrillController@handleWebHook']);
- 排除您的路由以避免 CSRF 保护 以确保它不会失败。
- 确保您在 Mandrill 中添加您的 webhook 以指向您的路由。您可以通过以下方式完成此操作: https://mandrillapp.com/settings/webhooks
Webhook 事件
更新日志
请参阅 CHANGELOG 了解有关最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全性
如果您发现任何安全相关的问题,请通过 info@mixis.lv 发送电子邮件,而不是使用问题跟踪器。
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。