目前基於 LINUX 操作系統有不少新推出的web郵件產品(如IMP)的出現使web設計者能利用這些產品很容易的實現基於web的郵件系統。然而隨著使用這些產品的web郵件系統 解決方案 日趨流行。現在我們在一台普通的裝有LINUX操作系統的計算機上都非常容易的實現一個完
目前基於
LINUX操作系統有不少新推出的web郵件產品(如IMP)的出現使web設計者能利用這些產品很容易的實現基於web的郵件系統。然而隨著使用這些產品的web郵件系統
解決方案日趨流行。現在我們在一台普通的裝有LINUX操作系統的計算機上都非常容易的實現一個完整,
安全可靠的電子郵局。
很多小型商務網站和個人主頁系統管理員都會利用LINUX本身自帶的SENDMAIL和POP3,IAMP來構造一個非常穩定的免費的電子郵局系統,以便為自己或者內部工作人員提供免費電子信箱。不過,對大多數小型
網絡和INTRANET來說,利用LINUX
服務器提供開放式WEB電子郵局和POP3組合的電子郵件服務系統則更好些。這樣不但可以為單位自身提供電子郵局,而且還可以對外提供有友好界面的WEB免費電子信箱。
Open WebMail 是由 Neomail 1.14 改寫而來的一套 WebMail具有良好的使用介面以及與Outllook接近的多媒體信件顯示能力,支援多信件夾, 通訊錄, POP3 外部郵件, 郵件規則, 全文檢索, 讀信回條等功能。1.04 版改進如下:
1. 降低處理大型信件時, 讀信/新增附件/寄信 所耗用的記憶體;
2. 修正原本全文檢索永遠 cache miss 的情形。
Open WebMail對系統
需求並不高,適用於多種開放式操作系統,任何一台普通的WEB服務器都可以方便的加掛上Open WebMail作為基於WEB的免費電子郵局。
Open WebMail系統需求:
Unix OS、Web Server with CGI support、Perl 5.005 或以上
因為Open WebMail是基於著名的Neomail 1.24 WEB電子郵局的一種開放式WEB 電子郵局,所以Open WebMail多少在
性能和運作方式上和Neomail 1.24有很多相似的地方,下面就是Neomail 1.24 的簡單介紹。需要詳細Neomail 1.24資料和介紹的朋友可以訪問Neomai的官方網站http://neomail.sourceforge.net
Neomail是由Ernie Mill用perl編寫的一套webmail,支持中文,可以方便地用在sendmail/qmail系統上面的電子郵局系統,是一個可以讓你方便的架設一個WebMail在線電子郵件服務器,可以讓使用者上在面讀信,寫信,收發e-mail.可以讀取Html郵件,包夾附件,圖片等,也可以讓使用者導入Outlook的CSV格式通訊文件。Neomail的用戶界面簡潔友好,安裝簡單,功能和也不見得比其他網站的免費電子郵件遜色。最重要的是Neomail支持多種語言,當然也包括了簡體中文。並且Neomail是免費的軟件,功能上沒有限制。
目前Neomail已經推出到了Neomail 1.24,和以前的版本相比,Neomail 1.24有了相當大的改進,安全性得到了提高,加入了幾個相當不錯的功能。安裝Neomail需要的硬件要求不是很高,一般來說,能安裝LINUX服務器的計算機都可以使用Neomail。當然,Neomail需要有CGI和 MD5, Perl 模塊的支持。
Open WebMail安裝全過程 Open WebMail的目標就是高效利用計算機內存處理大型郵件文件。Open WebMail同時也提供了多種開放式軟件特有的新特性:
1. 快速文件夾訪問技術
2. 直接信息發送技術
3. 高效內存利用技術
4. 方便的文件夾和信息管理技術
5. 友好的用戶界面
6. 支持虛擬主機和帳號別名
7. 支持PAM
8. 支持郵件全文搜索,全內容搜索
9. 更優化的MIME信息顯示
10. 提供郵件垃圾箱
11. 提供拼寫錯誤檢查技術
12. 支持POP3
13. 提供垃圾郵件過濾器技術
14. 支持郵件信息預覽功能
15. 支持簡/繁體(BIG5/GB)中文轉化
安裝Open WebMail的系統需求: 支持多種LINUX操作系統,FREEBSD, UNIX OS,系統中需要安裝Apache web 服務器,Perl 5.005或者更高版本,並且系統中需要激活CGI。
推薦安裝的文件及其版本:
CGI.pm-2.74.tar.gz
MIME-Base64-2.12.tar.gz
Authen-PAM-0.12.tar.gz
ispell-3.1.20.tar.gz
hc-30.tar.gz
正式安裝: 首先,我們需要到http://turtle.ee.ncku.edu.tw/openwebmail/ 網站下載一個最新版本的Open WebMail安裝文件包。如果您使用的是帶有pkg_add的FreeBSD操作系統,那麼請您先對如下文件進行修改,注意,為了保持原來安裝手冊的完整性,作者只是做了一些重要步驟地中文注解,一般有過安裝LINUX下的應用軟件的朋友應該可以看明白,另外,由於Open WebMail支持很多種新功能和新技術,有些技術並不是Open WebMail自帶的,所以在安裝完Open WebMail軟件包以後,一些技術的模塊,如用戶認證技術,簡繁體編碼轉化技術模塊等等都需要用戶自行安裝。這些另外安裝的技術都有相應的軟件包在互聯網上提供下載。由於篇幅有限,所以在本文章並不能把所有的模塊的安裝詳細的進行介紹,這些模塊的安裝大都在它們的軟件包裡的README, FAQ ,INSTALL文件中都有詳細的安裝步驟介紹。英文比較好的朋友我想在安裝這些軟件模塊的時候應該能夠很順利的完成。
Open WebMail整個系統的安裝是非常復雜,特別是Open WebMail的調試過程更是需要我們注意一些實際問題。不過Open WebMail開放式WEB電子郵局系統的功能強大,也可以說是達到了商業級別的免費電子郵局了。
1. cd /usr/local/www
tar -zxvBpf openwebmail-X.XX.tgz (解壓安裝文件包)
2. 根據系統實際需要修改文件: /usr/local/www/cgi-bin/openwebmail/etc/openwebmail.conf
3. 在sendmail.cf配置文件中的'Trusted users'片斷處加入'Tnobody'
如果您使用的是帶有apache WEB服務器的RedHat 6.2/CLE 0.9p1或者其他的版本的LINUX操作系統。那麼可以進行如下操作。
1.
cd /home/httpd
tar -zxvBpf openwebmail-X.XX.tgz
mv data/openwebmail html/
rmdir data
(進入/home/httpd目錄,解壓安裝文件包,把相應的文件移動到html/目錄中)
2. cd /home/httpd/cgi-bin/openwebmail 進入目錄接著找到以下3個文件並進行相應
修改 openwebmail.pl, openwebmail-prefs.pl, spellcheck.pl 和 checkmail.pl這3個文件
修改a. change all '/usr/local/www/cgi-bin/openwebmail'
to '/home/httpd/cgi-bin/openwebmail'
修改 auth_
unix.pl
a. set variable $unix_passwdfile to '/etc/shadow'
b set variable $unix_passwdmkdb to 'none'
3. 修改 /home/httpd/cgi-bin/openwebmail/etc/openwebmail.conf
a. set mailspooldir to '/var/spool/mail'
b. set ow_htmldir to '/home/httpd/html/openwebmail'
set ow_cgidir to '/home/httpd/cgi-bin/openwebmail'
c. set spellcheck to '/usr/bin/ispell'
d. change default_signature for your need
e. other changes you want (根據實際起狂修改您所需要修改其他的文件)
4. 在/etc/sendmail.cf文件中的'Trusted users'片斷中加入'Tnobody'
5. 繼續修改加入如下內容
/var/log/openwebmail.log {
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
to /etc/logrotate.d/syslog to enable logrotate on openwebmail.log
ps: 如果您使用的是RedHat 7.1, 請您使用 /var/www 代替 /home/httpd
如果您使用的是帶有apache UNIX系統,那麼請您根據下面步驟安裝:
首先要找到UNIX系統中的cgi-bin目錄
例如: /usr/local/apache/share, 然後
1. cd /usr/local/apache/share
tar -zxvBpf openwebmail-X.XX.tgz
mv data/openwebmail h
tdocs/
rmdir data
2. 修改 /usr/local/apache/share/cgi-bin/openwebmail/etc/openwebmail.conf
a. set mailspooldir to where your system mail spool is (在系統的mail spool中設定mailspooldir)
b. set ow_htmldir to '/usr/local/apache/share/htdocs'
set ow_cgidir to '/usr/local/apache/share/cgi-bin'
c. set spellcheck to '/usr/local/bin/ispell'
d. change default_signature for your need (設定您的郵件系統的默認簽名)
e. other changes you want (根據實際起狂修改您所需要修改其他的文件)
3. cd /usr/local/apache/share/cgi-bin/openwebmail
修改如下文件 openwebmail.pl, openwebmail-prefs.pl, spellcheck.pl 以及 checkmail.pl
a. change the #!/usr/bin/perl to the location where your perl is.(根據PERL所在位置定位#!/usr/bin/per)
b. change all '/usr/local/www/cgi-bin/openwebmail'
to '/usr/local/apache/share/cgi-bin/openwebmail'
修改auth_unix.pl
a. set variable $unix_passwdfile to '/etc/shadow' (shadow密碼設置)
b set variable $unix_passwdmkdb to 'none' (設置$unix_passwdmkdb t為空)
4. add 'Tnobody' to the 'Trusted users' session in your sendmail.cf
(在sendmail.cf配置文件中的'Trusted users'片斷處加入'Tnobody')
檢查CGI模塊的版本: 在Open Webmail上載和發送郵件附件的時候會調用到CGI模塊,Open Webmail的作者推薦我們使用CGI version 2.74或者更高的版本。
檢查CGI模塊的版本可以按照如下步驟。
perldoc -m CGI.pm | grep CGI::VERSION
安裝最新版本的CGI模塊
1. 下載最新版本的 CGI 模塊 (CGI.pm-2.74.tar.gz)
2.
cd /tmp
tar -zxvf CGI.pm-2.74.tar.gz
cd CGI.pm-2.74
perl Makefile.PL
make
make install
拼寫錯誤檢查技術模塊的安裝: openwebmail提供了拼寫錯誤檢查技術,我們可以通過安裝拼寫錯誤檢查技術軟件包來在openwebmail中實現該技術。在一般的電子郵局系統中沒有提供該技術,openwebmail可謂技高一籌。
安裝步驟: 1. 下載ispell-3.1.20.tar.gz 軟件包 並安裝,很簡單
http://www.cs.ucla.edu/ficus-members/geoff/ispell.html
注意: 如果你想自己編譯該軟件,可以下載該軟件的源代碼進行重編譯
a. 可以到這個網站下載源代碼包 http://turtle.ee.ncku.edu.tw/openwebmail/download/contrib/words.gz
b. gzip -d words.gz
c. mkdir /usr/dict; cp words /usr/dict/words
d. 根據README文件進行啟動或者更高級修改
2. 檢查 openwebmail.conf 這個文件看看 spellcheck 是否指向ispell binary
PAM技術支持: PAM (Pluggable Authentication Modules)提供了一套靈活的系統用戶認證機制。在http://www.kernel.org/pub/linux/libs/pam/ 中有很詳細的介紹,在這裡只介紹PAM的安裝和調試。在Solaris 2.6, Linux 和 FreeBSD 3.1系統中是支持PAM的,為了使得Open WebMail也支持該技術,我們可以進行如下操作。
1. 在http://www.cs.kuleuven.ac.be/~pelov/pam/網站下載 Perl Authen::PAM 模塊 (Authen-PAM-0.12.tar.gz)
2.
cd /tmp
tar -zxvf Authen-PAM-0.12.tar.gz
cd Authen-PAM-0.12
perl Makefile.PL
make
make install
ps: 在安裝結束後請用'make test'命令進行測試。如果出現測試ERRO提示必須重裝
3. 在/etc/pam.conf 文件中加入下面兩行參數
( FreeBSD系統)
openwebmail auth required pam_unix.so try_first_pass
openwebmail a
clearcase/" target="_blank" >ccount required pam_unix.so try_first_pass
(
Linux系統)
openwebmail auth required /lib/security/pam_unix.so
openwebmail account required /lib/security/pam_unix.so
(在 Linux /etc/pam.conf,文件的LINUX系統中) 如果系統中有/etc/pam.conf 但是沒有 /etc/pam.d/,這個目錄,可以創建/etc/pam.d/openwebmail這個目錄來解決
auth required /lib/security/pam_unix.so
account required /lib/security/pam_unix.so
4.
change auth_module to 'auth_pam.pl' in the openwebmail.conf
5.
check auth_pam.pl for further modification required for your system.
PS:更詳細的修改配置問題請參閱README文件
在OPENWEBMAIL上添加用戶認證:
在實際操作中我們會發現 auth_unix.pl 和auth_pam.pl 這兩個文件並不很適合我們的系統和實際需要, 但是我們可以自己給系統編寫新的認證文件
為了給openwebmail系統編寫新的認證文件,我們可以進行如下操作: y
1. 首先給認證文件取一個縮寫的文件名,比如 xyz
2. 然後用文字編輯器給auth_xyz.pl,這個文件定義以下的參數,直接寫入該文件保存即可,用戶可根據實際作相應的修改。
($realname, $uid, $gid, $homedir)=get_userinfo($user);
@userlist=get_userlist($user);
$retcode=check_userpassword($user, $password);
$retcode=change_userpassword($user, $oldpassword, $newpassword);
$retcode 解釋為:
-1 : 不支持該功能
-2 : 參數格式錯誤
-3 : 認證系統內在錯誤
-4 : 口令錯誤
接著啟動 auth_unix.pl 或者 auth_pam.pl
3.修改 openwebmail.conf中的 auth_module 模塊,使之和 auth_xyz.pl參數一致
4. 測試你新編寫的認證模塊。
BIG5<->GB 簡繁體編碼轉化
Openwebmail 支持 BIG5<->GB 簡繁體編碼轉化技術,這樣使得香港,台灣地區和大陸之間的電子郵件用戶可以方便的閱讀不同編碼的電子郵件,很是方便。
1. 下載 Hanzi Converter (hc-30.tar.gz) 軟件包,軟件編寫
作者為 Ricky Yeung(
[email protected]) 和
Fung F. Lee (
[email protected]).
2.
tar -zxvf hc-30.tar.gz
cd hc-30
make
3. 拷貝 'hc' 和 'hc.tab' 到 cgi-bin/openwebmail 或者 /usr/local/bin目錄中
4. 分別修改 openwebmail.conf g2b_converter 和 b2g_converter.
多種語言支持技術 要openwebmail實現多種語言支持的技術非常簡單
1. 首先編寫一個新文件,給您想要加入的新語言取一個縮寫名字,如: xy
ps: 關於縮寫名字的取法必須包含下列URL
http://i18n.kde.org/stats/gui/i18n-table-KDE_2_2_BRANCH.html
http://babel.alis.com/langues/iso639.en.htm
http://www.unicode.org/unicode/onlinedat/languages.html
2.
cd cgi-bin/openwebmail/etc.
cp lang/en lang/xy
cp -R templates/en templates/xy
3. 把 lang/xy 和 templates/xy/* 這兩個文件裡面的英文翻譯成自己的語言
4. add your language to %languagenames in openwebmail-shared.pl,
then you can set default_language to 'xy' in openwebmail.conf
最後的測試 1. chdir to openwebmail cgi dir (eg: /usr/local/www/cgi-bin/openwebmail)
檢查一些文件的屬性,組的屬性和參數是否合下面的標准屬性一致,如果不一致可以再進行相應修改。 ~/openwebmail.pl - owner=root, group=mail, mode=4755
~/openwebmail-prefs.pl - owner=root, group=mail, mode=4755
~/spellcheck.pl - owner=root, group=mail, mode=4755
~/checkmail.pl - owner=root, group=mail, mode=4755
~/vacation.pl - owner=root, group=mail, mode=0755
~/etc - owner=root, group=mail, mode=755
~/etc/sessions - owner=root, group=mail, mode=770
~/etc/users - owner=root, group=mail, mode=770
/var/log/openwebmail.log - owner=root, group=mail, mode=660
2.在浏覽器中測試你的 webmail ,使用這個地址http://your_server/cgi-bin/openwebmail/openwebmail.pl
或者 :http://YOU-IP/cgi-bin/openwebmail/openwebmail.pl