【问题标题】:How to make custom email verification (Laravel 5.8)? [duplicate]如何进行自定义电子邮件验证(Laravel 5.8)? [复制]
【发布时间】: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


【解决方案1】:

如果您只想自定义已发送电子邮件的外观布局,而不想自定义邮件的内容(文本)必须发布通知和邮件组件的视图文件。

为此,您可以输入:

php artisan vendor:publish --tag=laravel-notifications
php artisan vendor:publish --tag=laravel-mail

这些命令会将 Laravel 邮件消息模板从供应商文件夹复制到 resources/views/vendor/notificationsresources/views/vendor/mail

以前的路径中,您有email.blade.php,它基本上是MailMessage 布局。 (事实上​​,您可以看到所有可以使用 MailMessage 自定义的可用插槽)。

latter path 中,您可以找到markdownhtml 组件(我之前提到的MailMessage 布局中也使用了这些组件)。您可以查看各种文件并进行修改。

注意:您对这些模板所做的更改将适用于您发送的任何电子邮件,如果您创建新的通知和可邮寄,它仍将使用这些修改过的模板。

您可以使用此方法对电子邮件的外观进行全局更改,例如自定义标题以包含您公司的徽标等。

如果您只需要编辑电子邮件的内容(文本),您仍然需要创建自定义通知/可邮寄。

快速提示:您可以在浏览器中预览电子邮件以快速调整布局和文本,因为您不必一直触发通知:https://medium.com/@jaouad_45834/preview-your-emails-notifications-in-browser-laravel-9058d8c856c4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多