asdh/password-changed-notification

一个简单的包,用于在用户更改密码时向用户发送邮件通知。

2.1 2022-03-11 02:51 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

一个简单的包,用于在用户更改密码时向用户发送邮件通知。

安装

您可以通过composer安装此包

composer require asdh/password-changed-notification

使用方法

安装包后,您可以访问您的User模型或任何具有密码和电子邮件字段的模型,并使用PasswordChangedNotificationTrait特质并实现PasswordChangedNotificationContract接口

use Asdh\PasswordChangedNotification\Contracts\PasswordChangedNotificationContract;
use Asdh\PasswordChangedNotification\Traits\PasswordChangedNotificationTrait;

class User extends Authenticatable implements PasswordChangedNotificationContract
{
    use PasswordChangedNotificationTrait;
}

现在,每当您更改用户的密码时,都会自动向该用户发送邮件。这难道不难吗。

默认情况下,该包将假设列名为emailpassword。但如果这些字段的列名不同,您也可以修改这些设置。

假设您的User模型或其他模型中的email列名为user_email,那么您可以在User模型上添加emailColumnName方法,并从该方法返回user_email,如下所示

public function emailColumnName(): string
{
    return 'user_email';
}

您还可以通过添加此方法修改password列。

public function passwordColumnName(): string
{
    return 'user_password';
}

您还可以通过添加此方法修改name列。这将用于邮件中的“Hi Adam”。

public function nameColumnName(): string
{
    return 'full_name';
}

此外,如果您想修改发送给用户的邮件,可以使用以下命令发布邮件视图

php artisan vendor:publish --tag="password-changed-notification-views"

现在,视图将发布在resources/views/vendor/password-changed-notification/emails/password-changed-notification.blade.php。您可以按需修改此文件,当邮件发送给用户时,将使用该文件。

您还可以创建自己的邮件(使用php artisan make:mail命令创建的),并使用该邮件。为此,您需要在User模型上添加passwordChangedNotificationMail方法并返回该邮件。

public function passwordChangedNotificationMail(): Mailable
{
    return new YourOwnPasswordChangedNotificationMail($this);
}

测试

composer test

致谢

许可

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