我正在尝试向新用户发送电子邮件。我对环境进行了更改。文件。我正在使用gmail.com邮件服务。我想向用户发送电子邮件,包括他们的姓名。例如: 约翰,您好,您的注册成功了! 约翰部分将是用户名。
我的代码在RegistrationController中:
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
$to_name = $data['name'];
$to_email= $data['email'];
$body =[];
$mailData=array('body'=>$body);
Mail::send('email.email-register', $mailData, function($message) use ($to_name, $to_email ){
$message->to($to_email, $to_name)->subject('Registration is succesfull!');
$message->from(env('MAIL_USERNAME'));
});
return $user;
}
我也正在使用邮件模板。我想将用户作为变量发送到视图。我该怎么办?
答案 0 :(得分:1)
1-您需要运行命令php artisan make:mail RegisterMail
2-添加库使用App\Mail\RegisterMail
;
Mail :: to('YourEmail@gmail.com')->发送(new RegisterMail($ mailData));
3-在您的App\Mail\RegisterMail.php
类中创建一个新的数据成员
公共$ mailData;
公共功能__construct($ mailData)
{
$ this-> mailData = $ mailData;
}
4-将此添加到您的App\Mail\RegisterMail.php
中
公共功能build(){
返回$ this-> from('youremail@gmail.com','您的名字')-> replyTo('youremail@gmail.com')->主题($ this-> mailData ['subject'])-> view ('email')-> with('mailData',$ this-> mailData);
}