You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自定义Laravel邮件模板?重置密码、邮箱验证类邮件如何修改?

编辑Laravel框架重置密码、验证邮箱邮件模板方法

示例邮件模板

方法1:直接修改框架默认导出的模板

如果你只需要调整邮件的样式、布局,不需要修改内容文本,可以直接导出框架内置模板修改:

  • 执行导出通知模板命令:php artisan vendor:publish --tag=laravel-notifications
    执行后模板会生成在resources/views/vendor/notifications目录,其中email.blade.php为默认HTML邮件模板,plain.blade.php为纯文本邮件模板,你可以直接修改这两个文件的样式、布局结构。
  • 如果你使用markdown格式的邮件,额外执行导出命令:php artisan vendor:publish --tag=laravel-mail
    对应markdown组件模板会生成在resources/views/vendor/mail目录,可自行修改组件样式、布局。

方法2:自定义邮件内容文本

如果需要修改邮件的标题、提示语、按钮文本等内容,重写用户模型对应的通知发送方法即可:

修改重置密码邮件内容

  1. 执行命令生成自定义重置密码通知类:php artisan make:notification ResetPasswordNotification
  2. 打开app/Models/User.php,重写sendPasswordResetNotification方法:
use App\Notifications\ResetPasswordNotification;

public function sendPasswordResetNotification($token)
{
    $this->notify(new ResetPasswordNotification($token));
}
  1. 编辑生成的app/Notifications/ResetPasswordNotification.php的toMail方法,自定义内容:
public function toMail($notifiable)
{
    $resetUrl = url(route('password.reset', [
        'token' => $this->token,
        'email' => $notifiable->getEmailForPasswordReset(),
    ]));

    return (new \Illuminate\Notifications\Messages\MailMessage)
        ->subject('账户密码重置请求')
        ->greeting('您好')
        ->line('我们收到了你的密码重置申请,点击下方按钮完成重置:')
        ->action('重置密码', $resetUrl)
        ->line('该链接有效期为60分钟,过期后请重新发起申请。')
        ->line('如果你没有操作过该请求,无需处理此邮件。')
        ->salutation(config('app.name'));
}

修改邮箱验证邮件内容

  1. 执行命令生成自定义邮箱验证通知类:php artisan make:notification VerifyEmailNotification
  2. 打开app/Models/User.php,重写sendEmailVerificationNotification方法:
use App\Notifications\VerifyEmailNotification;

public function sendEmailVerificationNotification()
{
    $this->notify(new VerifyEmailNotification());
}
  1. 编辑app/Notifications/VerifyEmailNotification.php的toMail方法自定义内容,逻辑和重置密码通知一致。

方法3:完全自定义邮件模板

如果默认布局完全不满足需求,你可以自己新建独立的邮件blade模板,在通知类中指定加载即可:

public function toMail($notifiable)
{
    $data = [
        'url' => '你的验证/重置链接',
        'user' => $notifiable
    ];
    return (new \Illuminate\Notifications\Messages\MailMessage)
        ->subject('请验证你的邮箱地址')
        ->view('emails.verify-email', $data);
}

你只需要在resources/views/emails目录下新建对应的verify-email.blade.php,编写自定义的HTML邮件内容即可。

内容的提问来源于stack exchange,提问作者John Harold Beltran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:18:03