установить по умолчанию FROM для SwiftMailer в Symfony - PullRequest
1 голос
/ 16 ноября 2011
mailer:
  class: sfMailer
  param:
    logging:           %SF_LOGGING_ENABLED%
    charset:           %SF_CHARSET%
    delivery_strategy: realtime
    transport:
      class: Swift_SmtpTransport
      param:
        host:       localhost
        port:       25
        encryption: ~
        username:   user@gmail.com
        password:   pass

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

    $message = $this->getMailer()->compose(
      array('user@gmail.com' => 'user'),
      $affiliate->getEmail(),
      'Jobeet affiliate token',
      body
    );

    $this->getMailer()->send($message);

Я бы хотел установить эту строку:

array('user@gmail.com' => 'user'),

автоматически. если я изменю user@gmail.com в конфигурации, то я хотел бы автоматически изменить в этой строке. у меня есть почтовик в нескольких местах на моем сайте. Возможно?

может быть так же, как в app.yml?

спасибо за помощь

Ответы [ 2 ]

1 голос
/ 16 ноября 2011

Вы можете сделать следующее:

в app.yml:

all:
from_mail: user@gmail.com

И сделать:

array(sfConfig::get("app_from_mail") => 'user'),
0 голосов
/ 17 марта 2018

Если вы используете версию Symfony ≥ 2, вы можете сделать следующее:

Установить плагин Swift Mailer Defaults , запустив composer require finesse/swiftmailer-defaults-plugin в консоли.Затем добавьте следующий код в конфигурацию yml:

services:
    # Swift Mailer plugins
    app.swiftmailer.defaults_plugin:
        class: Finesse\SwiftMailerDefaultsPlugin\SwiftMailerDefaultsPlugin
        tags:
            - { name: swiftmailer.default.plugin }
        arguments:
            $defaults:
                from:
                    user@gmail.com: user
                # You can add more default properties here, e.g. sender, reply to
...