Php 如何为何时发送电子邮件创建全局规则
目前在我们的系统中,我使用laravel邮件发送电子邮件,如下所示Php 如何为何时发送电子邮件创建全局规则,php,laravel,laravel-5,Php,Laravel,Laravel 5,目前在我们的系统中,我使用laravel邮件发送电子邮件,如下所示 Mail::to($user)->send(新建账户($user)) 这与预期的效果一样,但是在我们的系统中,我们有一些复杂的全局规则,用于何时向应该在任何地方使用的人发送电子邮件,例如: if ($user->isActive) { Mail::to($user)->send(new AccountCreation($user)); } 我不想每次都检查用户,而是希望邮件逻辑处理这个问题 是否有一种干净的
Mail::to($user)->send(新建账户($user))
这与预期的效果一样,但是在我们的系统中,我们有一些复杂的全局规则,用于何时向应该在任何地方使用的人发送电子邮件,例如:
if ($user->isActive) {
Mail::to($user)->send(new AccountCreation($user));
}
我不想每次都检查用户,而是希望邮件逻辑处理这个问题
是否有一种干净的方法来处理何时发送电子邮件的全局规则?在用户模型中创建一个mail()函数,并为所有用户插入全局规则。因此,与其打电话:
Mail::to($user)->send(new AccountCreation($user))
您将拨打:
$user->mail(new AccountCreation($user))
您可以按如下方式使用邮件功能:
class User extends Model {
(...)
public function mail(Mailer $mailer) {
if ($this->isActive) {
Mail::to($this)->send($mailer);
}
}
(...)
}
你好,安德烈。感谢您的回答,但是查看我评论的链接,似乎覆盖
邮件服务提供商
是处理此问题的更优雅的方式。您好@hdifen我不同意您的看法。作为一个只处理用户
模型的规则,它应该在模型中。