Laravel 注册控制器中未发送电子邮件
我尝试在成功注册后发送电子邮件,但无法发送 这是寄存器控制器的代码Laravel 注册控制器中未发送电子邮件,laravel,email,laravel-7,Laravel,Email,Laravel 7,我尝试在成功注册后发送电子邮件,但无法发送 这是寄存器控制器的代码 protected function create(array $data) { return User::create([ 'name' => $data['name'], 'city' => $data['city'], 'gender' => $data['gender'], 'pass
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'city' => $data['city'],
'gender' => $data['gender'],
'password' => Hash::make($data['password']),
'parentname' => $data['parentname'],
'relation' => $data['relation'],
'phonenumber' => $data['phonenumber'],
'email' => $data['email'],
'address' => $data['address'],
]);
$details=[
'title' => 'title :Check Mail fucntion',
'body' => 'test purpose',
];
Mail::to('example.kk49@gmail.com')->send(new WelcomeMail($details));
return view('mail.thanks');
}
如果我在中使用此邮件功能
然后它发送电子邮件创建方法的第一行返回。这意味着该方法中不会执行任何其他内容。您需要将User::create的结果捕获到一个变量中,执行其余的操作,然后返回这些结果
protected function create(array $data)
{
User::create([
'name' => $data['name'],
'city' => $data['city'],
'gender' => $data['gender'],
'password' => Hash::make($data['password']),
'parentname' => $data['parentname'],
'relation' => $data['relation'],
'phonenumber' => $data['phonenumber'],
'email' => $data['email'],
'address' => $data['address'],
]);
$details=[
'title' => 'title :Check Mail fucntion',
'body' => 'test purpose',
];
Mail::to('example.kk49@gmail.com')->send(new WelcomeMail($details));
Mail::to('otheremail@gmail.com')->send(new AdminNewAccount($details));
return view('mail.thanks');
}
编辑:我已经更新了它以显示第二封电子邮件的示例,还删除了重复的return语句。create方法的第一行是return。这意味着该方法中不会执行任何其他内容。您需要将User::create的结果捕获到一个变量中,执行其余的操作,然后返回这些结果
protected function create(array $data)
{
User::create([
'name' => $data['name'],
'city' => $data['city'],
'gender' => $data['gender'],
'password' => Hash::make($data['password']),
'parentname' => $data['parentname'],
'relation' => $data['relation'],
'phonenumber' => $data['phonenumber'],
'email' => $data['email'],
'address' => $data['address'],
]);
$details=[
'title' => 'title :Check Mail fucntion',
'body' => 'test purpose',
];
Mail::to('example.kk49@gmail.com')->send(new WelcomeMail($details));
Mail::to('otheremail@gmail.com')->send(new AdminNewAccount($details));
return view('mail.thanks');
}
编辑:我已经更新了这个,以显示第二封电子邮件的示例,还删除了重复的返回语句。您需要清除配置以使用新配置。 在终端中运行以下命令
php artisan view:clear
php artisan route:clear
php artisan cache:clear
php artisan config:clear
php artisan config:cache
您需要清除配置以使用新配置。 在终端中运行以下命令
php artisan view:clear
php artisan route:clear
php artisan cache:clear
php artisan config:clear
php artisan config:cache
您可以通过Swift_TransportException捕获错误,如下所示:
try {
Mail::to('example.kk49@gmail.com')->send(new WelcomeMail($details));
} catch(\Swift_TransportException $e) {
$response = $e->getMessage(); // catch the error here
}
您可以通过Swift_TransportException捕获错误,如下所示:
try {
Mail::to('example.kk49@gmail.com')->send(new WelcomeMail($details));
} catch(\Swift_TransportException $e) {
$response = $e->getMessage(); // catch the error here
}
不知怎的,你的电子邮件还没有发送。您需要捕获错误我如何在此处检查错误?不知怎的,您的电子邮件尚未发送。您需要捕获错误我如何在此处检查错误?它会抛出一个错误,并且没有登录传递给Illuminate\Auth\SessionGuard::login的参数1必须实现i………..etcIt似乎已经通过注册,现在正在尝试登录用户。它发电子邮件了吗?我相信电子邮件错误已经修复,您将看到一个新的错误。完整的错误消息是什么?您是否对登录过程进行了任何修改?这可能是有意义的,使一个新的错误张贴。完成先生,我在这里使用返回视图'邮件。谢谢';这对我来说没有什么用处,但现在我将其删除,并将其转到仪表板。谢谢你的帮助,如果我想在这里发两封邮件?一个是给管理员的,那我怎么做呢?你可以循环浏览一个电子邮件列表,比如:foreach['example1@gmail.com', 'example2@gmail.com“]作为$recipient{Mail::torecipient->sendnew WelcomeMail$详细信息;返回查看'Mail.Thank';}我是从邮件文档中得出这一点的:它抛出了一个错误,并且没有登录到参数1中。参数1传递给Illuminate\Auth\SessionGuard::login必须实现I………..。etcIt似乎已经通过了注册,现在正试图让用户登录。它发电子邮件了吗?我相信电子邮件错误已经修复,您将看到一个新的错误。完整的错误消息是什么?您是否对登录过程进行了任何修改?这可能是有意义的,使一个新的错误张贴。完成先生,我在这里使用返回视图'邮件。谢谢';这对我来说没有什么用处,但现在我将其删除,并将其转到仪表板。谢谢你的帮助,如果我想在这里发两封邮件?一个是给管理员的,那我怎么做呢?你可以循环浏览一个电子邮件列表,比如:foreach['example1@gmail.com', 'example2@gmail.com“]作为$recipient{Mail::torecipient->sendnew WelcomeMail$details;return view'Mail.thanking';}我正从以下邮件文档中获取此信息: