2013-07-22 65 views
0

我期待在CakePHP應用程序中設置不同的開發和生產電子郵件環境。生產和開發CakeEmail設置

在文檔中/app/Config/email.php它明確規定:

You can specify multiple configurations for production, development and testing. 

我的問題很簡單,怎麼樣?

我得到你可以設置很多配置在這個配置文件即

class EmailConfig { 
    public $default = array(
     ... 
    ); 

    public $production = array(
     ... 
    ); 
} 

我也知道,要挑給定的配置,你可以這樣做

$email = new CakeEmail('production'); 

我在那之後,根據我們是否在開發或生產服務器上來選擇配置是最好的方式。

+0

我用我的EmailLib類在內部處理這個(使用配置配置設置)。可能不是最乾淨的方法。但迄今爲止,它完美地爲我工作:http://www.dereuromark.de/2012/03/30/introducing-the-emaillib/ – mark

+0

檢查你的AppController的beforeFilter函數的調試模式..比如說 if (Configure :: read('debug')== 0){ \t $ email = new CakeEmail('production'); } else { \t $ email = new CakeEmail('development'); } –

+0

@ScrappyCocco,考慮到發送電子郵件可能是一件非常罕見的事情,我不太願意爲每個頁面視圖加載電子郵件配置。這似乎是不必要的開銷。 –

回答

1

在EmailConfig的構造函數中執行檢查。

public function __construct() 
+0

沒錯,這裏是一個例子,你可以如何應用/修改某些設置:https://github.com/dereuromark/setup/blob/master/Lib/BaseEmailConfig.php – mark