2011-04-07 82 views
0

我試圖製作一種電子郵件客戶端。我發現下面的CakePHP數據源類:https://github.com/kvz/cakephp-emails-pluginCakePHP電子郵件插件 - 使用自定義服務器

它似乎非常好,但我有一個關於服務器細節的問題。在插件的自述文件中,它表示您應該將IMAP服務器添加爲您的database.php配置文件中的條目。

我的問題是,由於我的網站允許用戶選擇他們自己的IMAP服務器,我無法將特定服務器硬編碼到配置文件中。

我將如何重新設計代碼(或者您可以更改控制器的數據庫設置)以符合我的目的?

回答

2

不太一樣,當我第一次寫,但你可以在飛行中添加數據庫CONFIGS,看到https://github.com/infinitas/infinitas/blob/beta/app_model.php#L371

你可能也想看看原代碼,因爲它不正是你想做的事,https://github.com/infinitas/infinitas/tree/beta/core/emails

下面是實際的代碼獲取特定用戶的電子郵件帳戶https://github.com/infinitas/infinitas/blob/beta/core/emails/controllers/mail_systems_controller.php#L25

它也有所有的代碼,供用戶添加其賬戶細節等

1

因爲它是一個數據源,我相信你可以簡單地設置imap服務器。

$this->emailTicket['server'] = $servername; 
+0

我不認爲解凍將在__construct()中設置數據工作https://github.com/kvz/cakephp-emails-plugin/blob/master/models/datasources/imap_source.php#L146 – dogmatic69 2011-04-07 23:16:36

+0

你試過了嗎?我只是問,因爲我們使用類似的東西來根據子域名設置數據庫名稱。 – 2011-04-08 01:43:46

+0

我寫的代碼... – dogmatic69 2011-04-08 08:51:43