2012-04-16 7 views
1

Symfonyの管理パネルで電子メールの設定を行うにはどうすればよいですか? デフォルト私は、ファイルのfactories.ymlでこれを設定する必要があります。symfony 1.4の設定メーラー - ファクトリ.ymlではなくadminパネルでのやり方は?

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: ~ 
     password: ~ 

私は管理パネルで設定したホスト、ポート、暗号化、ユーザ名とパスワードが好きで、私のデータベースでこれを続けるだろう。だから私はメールを送ると、このデータをデータベースから得ることができますか?

$message = $this->getMailer()->compose(
     array('[email protected]' => 'Jobeet Bot'), 
     $affiliate->getEmail(), 
     'Jobeet affiliate token', 
     <<<EOF 
Your Jobeet affiliate account has been activated. 

Your token is {$affiliate->getToken()}. 

The Jobeet Bot. 
EOF 
    ); 

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

私は、データベースからこのデータを取得することができます:)しかし、私はgetMailer()に書き込む方法を知りません。

答えて

4

イベントが発生しましたwhen the mailer is configuredです。

$dispatcher->notify(new sfEvent($this, 'mailer.configure')); 

は、だから、 add a listenerこのイベントには、メーラーオブジェクトを取得することができ、それを再構成します。

それとも、このスニペットで説明するように、手動でメーラへの呼び出しを建てことができますし、設定を設定(およびタスクでgetMailerを使用する利点を得た)方法を定義:http://snippets.symfony-project.org/snippet/377

関連する問題