我想将邮件发送到实际的电子邮件地址。
注册用户时,我正在使用用户的电子邮件地址(从注册表单中获取)向该电子邮件发送激活链接。
当我使用mailtrap.io尝试此操作时,它显示正确的“发件人”电子邮件地址和“发件人”电子邮件地址
public function build()
{
return $this->from('smuiauol@gmail.com')->subject('SMUIA account verification')->view('emails.verify')->with('user', $this->user);
}
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'surname' => $data['surname'],
'program' => $data['program'],
'year' => isset($data['year']) ? $data['year'] : null,
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
$verifyUser = VerifyUser::create([
'user_id' => $user->id,
'token' => str_random(40)
]);
Mail::to($user->email)->send(new VerifyMail($user));
return $user;
}
现在它给出了错误:
给定[xxxx]的邮箱中的地址不符合RFC 2822,3.6.2。
答案 0 :(得分:0)
这是哪个班?您可能想尝试使用dd()
功能来检查脚本中使用的值。
我实际上在写今天与此类似的东西。因此,我假设该类为Mail \ UserVerify.php。可以尝试的几件事
$this->user->email
替换为$data['email']
以查看其是否有效? -如果确实验证了$this->user->email==$data['email']
。public function build()
{
return $this->from('smuiauol@gmail.com')
->subject('SMUIA account verification')
->view('emails.verify')
->with('user', $this->user);
}
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'surname' => $data['surname'],
'program' => $data['program'],
'year' => isset($data['year']) ? $data['year'] : null,
'email' => $data['email'],
'password'=> bcrypt($data['password']),
]);
$verifyUser = VerifyUser::create([
'user_id' => $user->id,
'token' => str_random(40)
]);
Mail::to($user->email)
->send(new VerifyMail($user));
return $user;
}
祝你好运。