我尝试在成功注册后发送电子邮件,但无法发送
这是寄存器控制器的代码
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');
}
如果我在以下位置使用此邮件功能
public function __construct()
{
$this->middleware('guest');
}
然后发送电子邮件
答案 0 :(得分:2)
create()方法的第一行正在返回。这意味着该方法中的其他任何内容都不会执行。您需要将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语句。
答案 1 :(得分:1)
您可以通过Swift_TransportException
来捕获错误,如下所示:
try {
Mail::to('example.kk49@gmail.com')->send(new WelcomeMail($details));
} catch(\Swift_TransportException $e) {
$response = $e->getMessage(); // catch the error here
}
答案 2 :(得分:0)
您需要清除配置以使用新配置。 在终端中运行以下命令。
php artisan view:clear
php artisan route:clear
php artisan cache:clear
php artisan config:clear
php artisan config:cache