更改发送到Gmail或Hotmail的默认Laravel电子邮件模板主题

inb24sb2  于 2023-04-13  发布在  其他
关注(0)|答案(4)|浏览(162)

这是默认的电子邮件生成和发送的laravel使用smtp,我想改变这个默认的模板一样,添加一些图片,网址。。。我怎么能这样做呢?谢谢

x6h2sr28

x6h2sr281#

运行php artisan vendor:publish并导航到resources/views/vendor/notifications,现在您有两个文件,编辑它们。

luaexgnf

luaexgnf2#

在这里我只展示如何从邮件模板中更改默认的Laravel徽标
第一步是在我们的资源文件夹中发布我们的Mail组件,以便我们可以更改默认配置。
运行以下命令。

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

现在这个命令将在你的app/resources/views目录中创建一个vendor文件夹。
现在,您可以在邮件模板中提供图像路径,以便在Mail上使用自定义图像,如以下代码所示

@component('mail::layout')
{{-- Header --}}
@slot('header')
@component('mail::header', ['url' => config('app.url')])
{{-- {{ config('app.name') }} --}}

<img src="{{asset('storage/logo/logo.jpg')}}" style="height: 75px;width: 75px;">

@endcomponent
@endslot

{{-- Body --}}
{{ $slot }}

{{-- Subcopy --}}
@isset($subcopy)
@slot('subcopy')
@component('mail::subcopy')
{{ $subcopy }}
@endcomponent
@endslot
@endisset

{{-- Footer --}}
@slot('footer')
@component('mail::footer')
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
@endcomponent
@endslot
@endcomponent

有关更多信息,请访问here

hivapdat

hivapdat3#

Laravel实际上不使用任何电子邮件模板,而是直接使用MailMessage构建电子邮件,如下所示

return (new MailMessage)
            ->subject(Lang::get('Reset Password Notification'))
            ->line(Lang::get('You are receiving this email because we received a password reset request for your account.'))
            ->action(Lang::get('Reset Password'), $url)
            ->line(Lang::get('This password reset link will expire in :count minutes.', ['count' => config('auth.passwords.'.config('auth.defaults.passwords').'.expire')]))
            ->line(Lang::get('If you did not request a password reset, no further action is required.'));

因此,为了覆盖这个,在您的任何服务提供商中,我将使用AuthServiceProvider,添加以下内容:

// use Illuminate\Auth\Notifications\ResetPassword;
// ...

ResetPassword::toMailUsing(function ($notifiable, $token) {
            $email = $notifiable->getEmailForPasswordReset();

            
            $emailResetUrl = url(route('password.reset', [
                    'token' => $token,
                    'email' => $email,
                ], false));
            
            // this is where you generate your own email
            return (new MailMessage)
                ->subject(Lang::get('Reset Password Notification'))
                ->view('email.auth.reset-password', [
                    'url' => $emailResetUrl
                ]);
        });

或者您可以从本文https://medium.com/@josephajibodu/how-to-customize-laravel-fortify-authentication-email-templates-21b6a315e279中了解更多信息

gjmwrych

gjmwrych4#

当使用make:auth生成auth时,它将在resources/view/auth文件夹中生成所需的视图。
您可以根据需要自定义resources/views/auth/emails/password.blade.php页面。您可以根据要求添加图像和url
有关详细信息,请参阅文档

相关问题