如何自定义我的 Laravel 电子邮件验证消息

时间:2021-01-06 22:15:55

标签: php laravel email

在我使用 laravel 7 的网站的概念期间,当我想自定义我的 Laravel 自定义我的 Laravel 电子邮件验证消息时,我发现了一些麻烦。 首先,我转到了这个文件“C:\xampp\htdocs\clinique_juridique\vendor\laravel\framework\src\Illuminate\Auth\Notifications\VerifyEmail.php”,然后我翻译了那里的句子。 这里我遇到了两个问题,第一个有些句子没有在VerifyEmail.php中所以我无法翻译第二个,我不知道如何更改邮件的样式,当然,我也没有知道如何包含我网站的标志。 提前致谢。

1 个答案:

答案 0 :(得分:0)

所以我认为您是在询问代码的这一特定部分(取自 Laravel 8 供应商代码):


 /**
     * Build the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toMail($notifiable)
    {
        $verificationUrl = $this->verificationUrl($notifiable);

        if (static::$toMailCallback) {
            return call_user_func(static::$toMailCallback, $notifiable, $verificationUrl);
        }

        return (new MailMessage)
            ->subject(Lang::get('Verify Email Address'))
            ->line(Lang::get('Please click the button below to verify your email address.'))
            ->action(Lang::get('Verify Email Address'), $verificationUrl)
            ->line(Lang::get('If you did not create an account, no further action is required.'));
    }

首先,您可以使用该类 VerifyEmail 和方法 toMail 将此确认电子邮件发送给您的客户,但如果您仔细观察,您会发现该函数正在使用 {{1} } 类,可在 Laravel Localization 中找到。

否则,如果您想让它变得更复杂,您可以创建自己的类 MyVerifyEmail,它扩展了 VerifyEmail 并重新创建了 toMail 方法以满足您的需求,但我想不出您这样做的场景。

其次,如果您想包含一些个性化的邮件样式,请尝试创建一个 Mailable,通过这种方法您可以使用自定义视图(当然包括徽标)。

最后,我鼓励不要修改供应商的目录,因为它存储了 laravel 正常工作所需的所有库。相反,扩展您可能想要修改的任何类。