【发布时间】:2019-06-26 16:21:00
【问题描述】:
我可以使用 Laravel 5.8 的默认模板进行电子邮件验证。
现在,我想自定义电子邮件。
你能帮帮我吗?
我尝试按照以下说明进行操作:https://medium.com/@lordgape/custom-verification-email-notification-laravel-5-8-573ba3183ead。没有错误,但没有发送电子邮件。
当我切换回默认验证时,会发送默认电子邮件。
编辑:
到目前为止我尝试过的步骤:
- 创建一个可邮寄的电子邮件验证。
- 为新电子邮件模板创建视图
- 使用 AppServiceProvider.php 中的以下代码覆盖 toMailUsing():
VerifyEmail::toMailUsing(function ($notifiable){
$verifyUrl = URL::temporarySignedRoute(
'verification.verify',
Carbon::now()->addMinutes(Config::get('auth.verification.expire', 60)),
['id' => $notifiable->getKey()]
);
// dd($notifiable);
return new EmailVerification($verifyUrl, $notifiable);
});
- 编辑 mailable,添加两个变量:$verifyUrl 和 $user。
- 编辑 __construct 函数:
public function __construct($url, User $user)
{
$this->user = $user;
$this->verifyUrl = $url;
}
- 编辑mailable中的build()函数,添加return $this->view('emails.verifyUser'); (自定义模板的视图)。
- 没有错误,“请验证您的电子邮件”页面照常显示。但没有发送电子邮件。
【问题讨论】:
-
据我所见,该指南缺少关键元素,例如用户访问 URL 后将点击的验证路线。你能分享一下你是怎么尝试的吗?
-
你可以使用 regex
-
我们需要更多信息,因为 Laravel 5.8 有电子邮件验证。如果您想更改电子邮件或页面的设计,您可以做到!
-
@apokryfos,好的,我编辑了帖子。
-
@vipmaa,实际上我只想更改电子邮件的设计。我无法编辑默认模板,因为它位于供应商文件夹中。
标签: php laravel laravel-5 laravel-5.8