2014年12月17日 星期三

Roundcube的外掛元件

基本的Roundcube功能十分陽春,但可以外掛其他需要的功能模組,原始的Roundcube檔案已經附帶了一些外掛的模組,這些檔案存放在Roundcube資料夾下的plugins資料夾內。模組的啟用大多相當容易,先到Roundcube內的plugins資料夾下,找到想起用模組的資料夾名稱,接著到Roundcube內的config資料夾下開啟config.inc.php,找到以下這行
$config['plugins'] = array('');
將想啟用的模組名稱加入上方的設定,例如:
$config['plugins'] = array('markasjunk','password','userinfo','zipdownload');
接著到Roundcube內的plugins資料夾下,查看想開啟模組的對應資料夾下,是否有config.inc.php.dist 這支檔案,如果有,表示這個模組有些設定可以變更,請將config.inc.php.dist更名或複製成config.inc.php,再修改該模組資料夾下的config.inc.php內容即可。
以下為原始的Roundcube檔案已經附帶了一些外掛模組的設定:
archive 封存郵件 
加入模組後,需在設定內的特殊資料夾下指定封存的資料夾

markasjunk 標示垃圾郵件
這個模組安裝後,介面上會多了一個垃圾郵件的按鈕,可以將指定的郵件移動至垃圾郵件的資料夾下

managesieve 篩選器
可以自訂郵件的篩選過濾條件,將目標郵件執行設定的動作,如搬移、複製或轉寄。
managesieve需安裝dovecot-managesieved dovecot-sieve元件:
sudo apt-get install dovecot-managesieved dovecot-sieve
/etc/postfix/main.cf內新增
mailbox_command = /usr/lib/dovecot/dovecot-lda -d "$USER" -f "$SENDER" -a "$RECIPIENT"
修改/etc/dovecot/conf.d/15-lda.conf
protocol lda {
  mail_plugins = $mail_plugins sieve

}
修改/etc/dovecot/conf.d/90-plugin.conf
plugin {
 # setting_name = value
setting_name = sieve

}
重新啟動 postfix與dovecot

讓roundcube顯示使用者的quota
修改/etc/dovecot/conf.d/10-mail.conf如下:
mail_plugins = $mail_plugins quota
修改/etc/dovecot/conf.d/20-imap.conf:
mail_plugins = $mail_plugins imap_quota
修改/etc/dovecot/conf.d/90-quota.conf
## Quota limits
plugin {
  quota_rule = *:storage=3G

  quota_rule2 = Trash:storage=+100M
quota_grace = 10%%
}
## Quota warnings
plugin {
  quota_warning = storage=95%% quota-warning 95 %u
  quota_warning2 = storage=80%% quota-warning 80 %u
}
plugin {
    quota = maildir:User quota
  }


重新啟動 dovecot
須注意的是此處只是設定在roundcube上顯示的quota上限,實際上postfix的mailbox_size_limit還是在postfix的main.cf內設定!

password 變更密碼
這個模組可以讓使用者直接在網頁上修改自己的密碼。原始的設定是透過sql的語法去變更使用者密碼,但小弟功力太差,搞了半天就是搞不定,只好改用其他方法!在系統下安裝poppassd,透過它來變更使用者密碼。先安裝poppassd
sudo apt-get install poppassd
接著來到password資料夾下,將config.inc.php.dist複製一份並更名為config.inc.php
sudo cp config.inc.php.dist config.inc.php
接著編輯config.inc.php,找到以下這行:
$config['password_driver'] = 'sql';
並修改成
$config['password_driver'] = 'poppassd';
下方這幾項設定可以視需求修改
$config['password_minimum_length'] = 8;              //密碼的最小長度
$config['password_require_nonalpha'] = false;        //密碼至少需要含一個數字與一個標點符號
$config['password_log'] = true;                                //密碼的變更是否記錄log檔,若開啟會在                                                                                              Roundcube下的logs資料夾內產生一個                                                                                                   password的log檔

userinfo 會在設定選項內多了一個"使用者資訊"的欄位

zipdownload 支援用zip的方是一次下載多個郵件附件
當郵件的附件有多個時,可以將多個附件用zip的方式打包一起下載。在zipdownload資料夾下,將config.inc.php.dist複製一份並更名為config.inc.php,編輯內容,找到下面這行
$config['zipdownload_charset'] = 'ISO-8859-1';
這裡可以指定zip檔案名稱的編碼,可以改成UTF-8,避免檔案名稱出現亂碼。
$config['zipdownload_charset'] = 'UTF-8';