Несуществующий параметр в Swiftmailer - PullRequest
0 голосов
/ 08 ноября 2019

В попытке настроить как память, так и почтовый сервер в приложении Symfony 4.3, я следовал документам , чтобы создать эту конфигурацию:

swiftmailer:
    default_mailer: memory
    mailers:
        memory:
            sender_address: 'admin@bogus.info'
            transport:        smtp
            username:         admin@bogus.info
            password:         123Abcd
            host:             localhost
            spool: { type: 'memory' }

        spooler:
                sender_address: 'admin@bogus.info'
                transport:        smtp
                username:         admin@bogus.info
                password:         123Abcd
                host:             localhost
                spool:
                    type: file
                    path: '%kernel.project_dir%/var/spool'

И в services.yaml:

    App\Services\Emailer:
        $spoolMailer: '%swiftmailer.mailer.spooler%'
        $defaultMailer: '%swiftmailer.default_mailer%'
        $senderAddress: '%swiftmailer.mailer.memory_mailer.sender_address%'
        $projectDir: '%kernel.project_dir%'

Но с этими четырьмя параметрами в службе происходит следующее с php bin/console debug:container:

Служба "App \ Services \ Emailer" зависит отСуществующий параметр "swiftmailer.mailer.spooler" ...

Почему эта конфигурация не работает?

1 Ответ

1 голос
/ 08 ноября 2019

Служба "App \ Services \ Emailer" зависит от несуществующего параметра "swiftmailer.mailer.spooler" ...

Параметры окружения с %Символ позволяет вам передавать значения вашим службам.

Поскольку вы хотите внедрить службу , вы должны поставить перед вашим параметром префикс с символом @.

Кроме того, чтобы получить почтовую службу по умолчанию, вы должны ввести @swiftmailer.mailer

РЕДАКТИРОВАТЬ: Правильный способ получения адреса отправителя: %swiftmailer.mailer.memory.sender_address%


Обновленное определение услуги:

App\Services\Emailer:
  $spoolMailer:   '@swiftmailer.mailer.spooler'
  $defaultMailer: '@swiftmailer.mailer'
  $senderAddress: '%swiftmailer.mailer.memory.sender_address%'
  $projectDir:    '%kernel.project_dir%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...