Отключить swiftmailer золотник в Symfony в среду

у меня возникли проблемы с отправкой массовых писем с symfony2 через консольную команду. Я хочу отключить буферизацию почты для env, в котором работает консоль, но продолжайте работать для env по умолчанию. Поэтому у меня есть это в config.в формате YML:

swiftmailer:
    transport: %mailer_transport%
    host:      %mailer_host%
    port:      %mailer_port%
    username:  %mailer_user%
    password:  %mailer_password%
    spool:     %mailer_spool_type%

и затем каждый env имеет его на параметрах, таких как parameters_prod.в формате YML:

parameters:
    mailer_transport:       smtp
    mailer_host:            smtp.someserver.net
    mailer_port:            587
    mailer_user:            "someuser"
    mailer_password:        "somepassword"
    mailer_spool_type:      { type:memory }

затем для консоли env я использую parameters_cron.в формате YML:

parameters:    
    mailer_spool_type: ~

проблема заключается в использовании ~ или null фактически не поворачивается от катушки, но он использует значения по умолчанию {cache: file, path: %kernel.cache_dir%/swiftmailer/spool }

есть ли способ, чтобы отключить катушку, просто изменив параметры или есть лучший способ?

1 ответов


по-видимому, единственный способ отключить буферизацию электронной почты-полностью исключить запись катушки из файла конфигурации. После включения записи катушки в основной файл конфигурации невозможно отключить буферизацию для определенной среды.

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

оставить в config.yml:

swiftmailer:
    transport: %mailer_transport%
    host:      %mailer_host%
    port:      %mailer_port%
    username:  %mailer_user%
    password:  %mailer_password%

и включите его в config_prod.yml:

swiftmailer:
    spool:     %mailer_spool_type%