我希望通过电子邮件获取上次向管理员发送的ID。我怎样才能做到这一点?我在Register controller
中尝试过类似的东西protected function create(array $data)
{
//dd($data);
$models = new User;
$user=User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
/*'usertype' =>$data['usertype'],*/
'status' => 0,
]);
$use = array('name' => 'Admin');
//$models->email = Auth::user()->email;
$message_id = "";
Mail::send('emailMessage', $use, function ($m) use ($message_id){
$message_id = Auth::User()->id;
$m->to('mrbbangladesh2017@gmail.com')
->subject('Confirm email');
});
return $user;
}
答案 0 :(得分:0)
要更正您的代码,您可以使用以下内容:
Mail::send('emails.registration', ['user' => $user], function ($m) {
$m->from('admin@app.com', 'App Admin');
$m->to('admin@app.com', 'App Admin')->subject('Confirm Registration!');
});
然后创建一个类似的视图:
<!-- View stored in resources/views/emails/registration.blade.php -->
A new user, {{ $user->name }} has been registered
执行相同操作的另一种方法是使用events并在控制器中触发UserCreated之类的事件。这样,您可以拥有多个相同事件的侦听器(例如,如果您以后不仅要向管理员触发电子邮件,而且以后还要执行其他操作,您可以添加侦听器)或让多个控制器触发此事件(如果有其他方式注册用户)
我还建议您使用mail queues来缩短响应时间