2011-11-16 61 views
2

發送電子郵件,如果我想與SwiftMailer symfony裏面,然後我必須在行動中發送電子郵件:從模型和模板

$message = $this->getMailer()->compose(
     array('[email protected]' => 'user'), 
     $affiliate->getEmail(), 
     'Jobeet affiliate token', 
     body 
    ); 

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

但這並不模板和模式工作(我想爲這個創造功能)。

+3

請理解,由於symfony實現了MVC,所以您應該發送既不是模板也不是模板的電子郵件。如果你想這樣做,可能有一些方法(例如,使郵件程序在你的模板中可用),但它會變得很難看! – Sgoettschkes

+0

你是什麼意思它「不起作用」?你會得到什麼錯誤? – Flukey

回答

2

我不會推薦使用模板發送郵件 - 在模板中放置一個鏈接並調用發送郵件的動作...您可以從模型發送儘管我再也不會推薦使用sfContext::getInstance()該模型是一個非常糟糕的做法,因爲它使模型類依賴於上下文。所以,你的模型類不能被單元測試,因爲它需要一個上下文才行...

你需要一個當前的sfContext的實例來做到這一點......我建議在創建時將它作爲參數傳遞模型

+1

真的不建議在模板中發送電子郵件! – scube