通过 API 注册时发送验证电子邮件

3
我正在尝试让Lavarel在您通过API注册时发送验证电子邮件。这是否可能?
我已将MustVerifyEmail实现添加到User类中,并将Auth :: routes(['verify' => true])添加到我的api.php文件的顶部(我的路由所在位置)。同时,SMTP服务器已正确配置。
我想我可能做错了什么。希望能听到您的回音 :)
附注:我今天第一次开始使用Laravel。所以它可能只是一个非常简单的错误。

可能是Laravel Email Verification 5.7 using REST API的重复问题。 - Ricardo Santos
不是的。我已经找到了那篇文章,它是关于重新设计验证电子邮件的。我只想发送系统中已经存在的验证电子邮件。 - Kevin Walter
1个回答

2
如果您正在使用自定义的RegisterController,则应该能够调用:$user->sendEmailVerificationNotification();。这将调用$this->notify(new Notifications\VerifyEmail);。这是因为您的用户在Illuminate\Foundation\Auth\User中实现了MustVerifyEmail
编辑----
您还可以使用事件new Registered,该事件应在EventServiceProvider中注册,这将调用SendEmailVerificationNotification,后者会进一步调用$event->user->sendEmailVerificationNotification();
event(new Registered($user = $this->create($request->all())));

注意:这适用于 Laravel 5.7。

我确实收到了一封验证邮件!所以谢谢你!但是这封邮件不起作用。它重定向到登录页面,无法验证帐户。有什么建议吗? - Kevin Walter
你的 Auth::routes(['verify' => true]); 应该放在 web.php 中,因为那里是会话的地方。如果你把它放在 api.php 中,你将无法登录,因此也无法提交任何内容。 - Marcus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接