将电子邮件硬编码到Mailable Laravel

时间:2018-03-28 19:27:03

标签: php laravel email laravel-5

我有一个会员网站,我需要在用户注册时发送2封电子邮件。

  1. 欢迎向新用户发送电子邮件(这很好)
  2. 请注意向管理员发送电子邮件,通知他们新用户。(需要帮助
  3. 我正在使用事件和监听器来执行此操作。我目前可以向新注册用户发送这两封电子邮件,因此我认为我的问题是Mail::to function

    以下是目前正在使用的内容,但它已发送给新注册用户。

    我需要它去admin@mysite.com。如何在该电子邮件中进行硬编码,或从我的用户表中获取具有管理员权限的用户?

    我可以这样做:

    Mail::to($event->user->username('admin')->email)->send(new NewUserCreated($event->user));
    

    上面给出了一个错误:Call to undefined method Illuminate\Database\Query\Builder::username()

    听众: SendNewUserCreated.php

    public function handle(NewUser $event)
    {
        Mail::to($event->user->email)->send(new NewUserCreated($event->user));
    }
    

    邮件: NewUserCreated.php

    public function build()
    {
        return $this->subject('Custom Subject Here')->markdown('emails.staff.newusercreated');
    }
    

    邮件刀片: newusercreated.blade.php

    @component('mail::message')
    # A new user has registered on Website.
    
    Please check that the following credentials match your records.
    
    @component('mail::panel')
    - **User Name:** {{$user->username}}
    - **Full Name:** {{$user->first_name}} {{$user->last_name}}
    - **Email:** {{$user->email}}
    - **4 Digit Pin:** {{$user->pin}}
    - **Street:** {{$user->street}}
    - **City:** {{$user->city}}
    - **State:** {{$user->state}}
    - **Zip:** {{$user->zip}}
    @endcomponent
    
    @component('mail::button', ['url' => 'http://wesite.oo/admin'])
    Grant Access
    @endcomponent
    
    
    Thank You,<br>
    *{{ config('app.name') }}, Notifier*
    @endcomponent
    

1 个答案:

答案 0 :(得分:1)

不确定你的表是如何设置的,但是这样:

User::where('username', 'admin')->first()->email;
User::where('is_admin', 1)->first()->email;

或使用配置或环境变量:

config('myapp.admin_email');
env('ADMIN_EMAIL');