highsolutions/laravel-mailer-daemon-catcher

一个用于指示发送的电子邮件无法投递的 Laravel 扩展包

1.5.0 2024-04-22 14:03 UTC

This package is auto-updated.

Last update: 2024-09-22 14:52:19 UTC


README

License: MIT

指示发送的电子邮件无法送达收件人。

Laravel-Mailer Daemon Catcher by HighSolutions

安装

此包可以通过 Composer 安装

composer require highsolutions/laravel-mailer-daemon-catcher

或者在您的 Laravel 网页应用的 composer.json 文件的 require 部分添加以下行

    "require": {
        "highsolutions/laravel-mailer-daemon-catcher": "1.*"
    }

然后运行 composer update 以安装包。

然后,如果您正在使用 Laravel <= 5.4,通过添加服务提供者条目来更新 config/app.php

'providers' => [
    // ...
    HighSolutions\LaravelMailderDaemonCatcher\MailerDaemonServiceProvider::class,
];

使用方法

检查 IMAP 收件箱

要检查是否有未阅读的 Mailer Daemon 消息在收件箱中,执行此命令

    php artisan mailer-daemon:catch

包从 config/mail.php 获取配置。

我们建议将此命令添加到 app/Console/Kernel.php 以安排此任务

	$schedule->command('mailer-daemon:catch')->hourly();

处理 Mailer Daemon 消息

当命令找到新消息时,它将触发一个 HighSolutions\LaravelMailderDaemonCatcher\Events\MailerDaemonMessageReceived 事件。

要捕获此事件,请在 App/Providers/EventServiceProvider.php 中创建一个对此事件的监听器

	protected $listen = [
		'HighSolutions\LaravelMailderDaemonCatcher\Events\MailerDaemonMessageReceived' => [
			'App\Listeners\MailerDaemonMessageListener',
		],
	];

在下面的示例中,在 app/Listeners/MailerDaemonMessageListener.php 中创建一个监听器,例如。

<?php

namespace App\Listeners;

use HighSolutions\LaravelMailderDaemonCatcher\Events\MailerDaemonMessageReceived;

class MailerDaemonMessageListener
{

    public function __construct()
    {
        //
    }

    /**
     * Handle the event.
     *
     * @param  \HighSolutions\LaravelMailderDaemonCatcher\Events\MailerDaemonMessageReceived  $event
     * @return void
     */
    public function handle(MailerDaemonMessageReceived $event)
    {
        // Access the message using $event->message...
    }
}

测试

使用以下命令运行测试

vendor/bin/phpunit

变更日志

1.5.0

  • 支持 Laravel 9.x、10.x 和 11.x

1.4.0

  • 支持 Laravel 7.x 和 8.x

1.3.0

  • 更改方法以提取收件人和主题方法
  • 修复 - 捕获连接失败错误的所有异常

1.2.0

  • 添加自定义配置以进行更详细的配置

1.1.0

  • 支持 Laravel 6.0

1.0.0

  • 基本版本

致谢

此包由来自波兰的软件公司 HighSolutions 开发,该公司热爱 Laravel。