Laravel Mailable硬编码邮箱问题:注册时向管理员发通知邮件
嘿,我来帮你搞定这个问题!你遇到的情况其实很典型——负责发送管理员通知的Listener里,收件人没正确指定,导致两封邮件都跑到新用户邮箱里了。咱们分两种方式来解决:
方法一:直接硬编码管理员邮箱
这是最直接的方式,找到你处理管理员通知的Listener类(比如叫NotifyAdminOfNewRegistration),在它的handle方法里,把Mail::to()的参数直接写成admin@mysite.com就行,不用再用事件里的用户邮箱。示例代码:
public function handle(UserRegistered $event) { // 直接指定管理员邮箱 Mail::to('admin@mysite.com')->send(new AdminRegistrationAlert($event->user)); }
方法二:用配置文件管理(更灵活)
如果之后可能需要修改管理员邮箱,不想每次改代码的话,把邮箱放到配置文件里会更方便:
- 打开
config/app.php,在数组里添加一行配置:'admin_email' => 'admin@mysite.com', - 然后在Listener里调用这个配置项:
public function handle(UserRegistered $event) { // 从配置文件读取管理员邮箱 Mail::to(config('app.admin_email'))->send(new AdminRegistrationAlert($event->user)); }
小提醒
还要检查你的管理员邮件通知类(比如AdminRegistrationAlert),别在类里硬写了收件人地址(比如不要设置protected $to = ...),让Listener里的Mail::to()来控制收件人就好,避免出现冲突。
内容的提问来源于stack exchange,提问作者daugaard47
相关产品推荐
相关产品推荐

