mixislv/laravel-mandrill-driver

Laravel 9+ Mandrill 驱动程序与 Webhooks 处理程序

v2.1.0 2022-12-07 08:58 UTC

This package is auto-updated.

Last update: 2024-09-07 12:51:08 UTC


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 分支而来

  1. 创建一个继承自 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'];
    }
}
  1. 创建处理 webhook 的路由。在您的 routes.php 文件中添加以下内容。
Route::post('mandrill-webhook', ['as' => 'mandrill.webhook', 'uses' => 'MandrillController@handleWebHook']);
  1. 排除您的路由以避免 CSRF 保护 以确保它不会失败。
  2. 确保您在 Mandrill 中添加您的 webhook 以指向您的路由。您可以通过以下方式完成此操作: https://mandrillapp.com/settings/webhooks

Webhook 事件

Webhook 事件类型:

更新日志

请参阅 CHANGELOG 了解有关最近更改的更多信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全性

如果您发现任何安全相关的问题,请通过 info@mixis.lv 发送电子邮件,而不是使用问题跟踪器。

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件