然之前已設定好 SMTP 、IMAP 及 POP3,已經可以使用 Thunderbird 等收發郵件。
但 Webmail 有時候還是比較方便。另外如果有類似 Gmail 的 Filter 功能就更好了。
還好現在在很多 FOSS 的 Webmail Client,
例如 RoundCube 和 OpenWebMail 等,原理都是用 IMAP/POP3 登入本機伺服器。
RoundCube 的介面比較接近現代網頁,就用它吧!
而 Sieve 是一種 “mail filtering language”,dovecot 也有 dovecot-sieve 提供其 implementation。
managesieved 貼在 dovecot 下提供通訊介面以管理每個 Mail User 的 Sieve 設定。
本文會安裝這三個 Package 並把它們整合在一起。
2017-04-26 更新: 更新文章格式
1. 安裝 sieve 及 managesieved
apt-get install dovecot-sieve dovecot-managesieved
為 LMTP 啟用 Sieve ,修改 /etc/dovecot/conf.d/20-lmtp.conf
mail_plugins = $mail_plugins sieve
預設 Sieve 使用者設定檔在 ~/.dovecot.sieve
因為我們使用 Virtual Mailbox,並沒有 ~ 的 Home Directory,所以需要把 Sieve 設定檔移進 Virtual Mailbox 內:
修改 /etc/dovecot/conf.d/90-sieve.conf 內的兩行:
sieve = /var/mail/vhosts/%d/%n/.dovecot.sieve sieve_dir = /var/mail/vhosts/%d/%n/sieve
最後重啟 Dovecot。
2. 下載並安裝 Roundcube
cd /var/www/ wget https://github.com/roundcube/roundcubemail/releases/download/1.2.4/roundcubemail-1.2.4-complete.tar.gz tar -zxv -f roundcubemail-1.2.4-complete.tar.gz
新增 Apache 設定:
<VirtualHost *:80> DocumentRoot /var/www/roundcubemail-1.2.4 ServerName mail.edm.tiger-workshop.com </VirtualHost>
重啟 Apache 後,使用瀏覽器執行 /installer/,按指示完成安裝。
main.inc.php 主要設定如下:
$rcmail_config['default_host'] = 'localhost'; $rcmail_config['default_port'] = 143; $rcmail_config['imap_auth_type'] = 'PLAIN'; $rcmail_config['smtp_server'] = 'localhost'; $rcmail_config['smtp_port'] = 587; $rcmail_config['smtp_user'] = '%u'; $rcmail_config['smtp_pass'] = '%p'; $rcmail_config['smtp_auth_type'] = 'PLAIN';
Database簡單起見使用 SQLite,database 目錄 chown 給 www-data 即可
mkdir /var/www/roundcubemail/database/ chown www-data:www-data /var/www/roundcubemail/database/
db.inc.php 設定:
$rcmail_config['db_dsnw'] = 'sqlite:////var/www/roundcubemail/database/roundcube.db?mode=0646';
使用之前設定的 IMAP 帳戶登入 http://mail.edm.tiger-workshop.com/,應該能成功登入。
3. RoundCube Sieve 整合
啟用 RoundCube 的 ManageSieve 過濾器設定整合,再修改 main.inc.php
$rcmail_config['plugins'] = array('managesieve');
重啟後 Settings 內出現 Filters,應該已能新增 Filter 成功。
發封信測試 Filter 是否正常運作。
4. 加速 Roundcube 操作
剛安裝好的 RoundCube 反應很慢,Google 找過主要原因是 Dovecot 預設設定下的 IMAP 登入很慢,
而 RoundCube 需要大量 IMAP 登入操作。
Dovecot 預設啟用了 PAM,登入失敗後才 Fallback 到先前設定的密碼檔,浪費很多時間。
所以我們需要把 PAM 停掉:
修改 /etc/dovecot/conf.d/auth-system.conf.ext
#passdb { #driver = pam # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>] # [cache_key=<key>] [<service name>] #args = dovecot #} ...
把除了之前自己設定的 passdb 與 userdb 都 Comment 掉,貯存後重啟 Dovecot。
另外一種提速就是指定 IMAP 與 SMTP 的 Auth Type,以免去 Auto-Negotiation 的程序,之前設定已新增了:
$rcmail_config['imap_auth_type'] = 'PLAIN'; $rcmail_config['smtp_auth_type'] = 'PLAIN';
RoundCube 現在應該速度飛快了!