protected function registerMailer()
    {
        /*
         * Register system layouts
         */
        MailManager::instance()->registerCallback(function ($manager) {
            $manager->registerMailLayouts([
                'default' => 'system::mail.layout-default',
                'system' => 'system::mail.layout-system',
            ]);

            $manager->registerMailPartials([
                'header' => 'system::mail.partial-header',
                'footer' => 'system::mail.partial-footer',
                'button' => 'system::mail.partial-button',
                'panel' => 'system::mail.partial-panel',
                'table' => 'system::mail.partial-table',
                'subcopy' => 'system::mail.partial-subcopy',
                'promotion' => 'system::mail.partial-promotion',
            ]);
        });

        /*
         * Override system mailer with mail settings
         */
        Event::listen('mailer.beforeRegister', function () {
            if (MailSetting::isConfigured()) {
                MailSetting::applyConfigValues();
            }
        });

        /*
         * Override standard Mailer content with template
         */
        Event::listen('mailer.beforeAddContent', function ($mailer, $message, $view, $data, $raw, $plain) {
            $method = $raw === null ? 'addContentToMailer' : 'addRawContentToMailer';
            $plainOnly = $view === null; // When "plain-text only" email is sent, $view is null, this sets the flag appropriately
            return !MailManager::instance()->$method($message, $raw ?: $view ?: $plain, $data, $plainOnly);
        });
    }
protected function registerMailer()
    {
        /*
         * Register system layouts
         */
        MailManager::instance()->registerCallback(function ($manager) {
            $manager->registerMailLayouts([
                'default' => 'system::mail.layout-default',
                'system' => 'system::mail.layout-system',
            ]);

            $manager->registerMailPartials([
                'header' => 'system::mail.partial-header',
                'footer' => 'system::mail.partial-footer',
                'button' => 'system::mail.partial-button',
                'panel' => 'system::mail.partial-panel',
                'table' => 'system::mail.partial-table',
                'subcopy' => 'system::mail.partial-subcopy',
                'promotion' => 'system::mail.partial-promotion',
            ]);
        });

        /*
         * Override system mailer with mail settings
         */
        Event::listen('mailer.beforeRegister', function () {
            if (MailSetting::isConfigured()) {
                MailSetting::applyConfigValues();
            }
        });

        /*
         * Override standard Mailer content with template
         */
        Event::listen('mailer.beforeAddContent', function ($mailer, $message, $view, $data, $raw, $plain) {
            $method = $raw === null ? 'addContentToMailer' : 'addRawContentToMailer';
            $plainOnly = $view === null; // When "plain-text only" email is sent, $view is null, this sets the flag appropriately
            return !MailManager::instance()->$method($message, $raw ?: $view ?: $plain, $data, $plainOnly);
        });
    }
protected function registerMailer ( ) { /*
         * Register system layouts
         */ MailManager :: instance ( ) -> registerCallback ( function ( $ manager ) { $ manager -> registerMailLayouts ( [ 'default' => 'system::mail.layout-default' , 'system' => 'system::mail.layout-system' , ] ) ; $ manager -> registerMailPartials ( [ 'header' => 'system::mail.partial-header' , 'footer' => 'system::mail.partial-footer' , 'button' => 'system::mail.partial-button' , 'panel' => 'system::mail.partial-panel' , 'table' => 'system::mail.partial-table' , 'subcopy' => 'system::mail.partial-subcopy' , 'promotion' => 'system::mail.partial-promotion' , ] ) ; } ) ; /*
         * Override system mailer with mail settings
         */ Event :: listen ( 'mailer.beforeRegister' , function ( ) { if ( MailSetting :: isConfigured ( ) ) { MailSetting :: applyConfigValues ( ) ; } } ) ; /*
         * Override standard Mailer content with template
         */ Event :: listen ( 'mailer.beforeAddContent' , function ( $ mailer , $ message , $ view , $ data , $ raw , $ plain ) { $ method = $ raw === null ? 'addContentToMailer' : 'addRawContentToMailer' ; $ plainOnly = $ view === null ; // When "plain-text only" email is sent, $view is null, this sets the flag appropriately return ! MailManager :: instance ( ) -> $ method ( $ message , $ raw ? : $ view ? : $ plain , $ data , $ plainOnly ) ; } ) ; }
Register mail templating and settings override.
Register mail templating and settings override .