Open WebMail 是一个基于Neomail 1.14(作者:Ernie Miller)的webmail系统,它的目标是在内存中非常有效的处理非常大的邮件文件夹,它也提供了许多特性来帮助用户从Microsoft Outlook方便平滑的切换
特性
---------
Open WebMail有如下增强特性:
1. 快速文件夹访问
2. efficient messages movement
3. smaller memory footprint
4. 方便的文件夹和信息操作
5. 完美的文件锁定
6. 支持remote SMTP relaying
7. 虚拟主机
8. 用户别名
9. 用户自定制功能
10. 各种认证模块
11. 支持pam认证
12. 全文检索
13. 强大的处理MIME信息能力
14. 支持垃圾箱
15. 拼写校验支持
16. 支持POP3
17. 支持邮件过滤
18. 邮件统计预览
19. 支持读取邮件收条
20. 支持GB/BIG5码切换(仅对中文环境)
要求
-----------
支持cgi的Apache Web服务器和Perl 5.005以上版本
CGI.pm-2.74.tar.gz (必须)
MIME-Base64-2.12.tar.gz (必须)
libnet-1.0901.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/download/packages/下载需要的包,并把它们复知道/tmp目录
对于CGI.pm 按照下面的步骤安装:
cd /tmp
tar -zxvf CGI.pm-2.74.tar.gz
cd CGI.pm-2.74
perl Makefile.PL
make
make install
注:有报道说如果使用老版本的CGI模块Open Webmail在受到攻击的时候会挂起。因此我们建议你使用2.74以上版本的CGI模块。使用下面的命令来检查你的模块的版本:
perldoc -m CGI.pm | grep CGI::VERSION
MIME-Base64 的安装:
cd /tmp
tar -zxvf MIME-Base64-2.12.tar.gz
cd MIME-Base64-2.12
perl Makefile.PL
make
make install
注:尽管你可能已经安装过MIME-Base64的perl模块,我们还是建议你从源代码方式安装MIME-Base64。这样将打开XS支持,改功能将很大的提高MIME附件的编码解码速度。
安装libnet:
cd /tmp
tar -zxvf libnet-1.0901.tar.gz
cd libnet-1.0901
perl Makefile.PL (ans 'no' if asked to update configuration)
make
make install
安装 OPENWEBMAIL
-------------------
可以在http://turtle.ee.ncku.edu.tw/openwebmail/找到OpenWebMail的最新版本。如果你使用FreeBSD并且安装了它的pkg的Apache只需要:
1. cd /usr/local/www
tar -zxvBpf openwebmail-X.XX.tgz
2. 修改/usr/local/www/cgi-bin/openwebmail/etc/openwebmail.conf.
3.如果是FreeBSD 4.2以上版本
a. chmod 4555 /usr/bin/suidperl
b. 将下列文件中的#!/usr/bin/perl 改为#!/usr/bin/suidperl
openwebmail.pl, openwebmail-main.pl,
openwebmail-read.pl, openwebmail-viewatt.pl,
openwebmail-send.pl, openwebmail-spell.pl,
openwebmail-prefs.pl, openwebmail-folder.pl and checkmail.pl
如果使用带有Apache的RedHat 6.2/CLE 0.9p1或者其他Linux
(by clarinet.AT.totoro.cs.nthu.edu.tw)
1. cd /home/httpd
tar -zxvBpf openwebmail-X.XX.tgz
mv data/openwebmail html/
rmdir data
2. cd /home/httpd/cgi-bin/openwebmail
修改auth_unix.pl
a. 设置变量$unix_passwdfile为'/etc/shadow'
b 设置变量$unix_passwdmkdb为 'none'
3. 修改/home/httpd/cgi-bin/openwebmail/etc/openwebmail.conf
a. 设置mailspooldir 为 '/var/spool/mail'
b. 设置 ow_htmldir 为 '/home/httpd/html/openwebmail'
设置ow_cgidir 为'/home/httpd/cgi-bin/openwebmail'
c. 设置spellcheck为'/usr/bin/ispell'
d.将default_signature修改为你自己的默认签名
e. 改变其他任何你想改变的设置
4. 向/etc/logrotate.d/syslog中追加如下几行以开启openwebmail.log的日志轮询功能:
/var/log/openwebmail.log {
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
注:如果使用RedHat7.1,请用/var/www 来替换/home/httpd,如果在RedHat上安装的话强烈建议阅读doc/RedHat-README.txt(作者:elitric.AT.yahoo.com) 。
注:Thomas Chung (tchung.AT.pasadena.oao.com)维护一个tar打包的版本,该版本有安装教本可以支持在 RedHat7.x下自动安装。可以从一下地址获得http://openwebmail.org/openwebmail/download/redhat-7x-installer/.
如果你在其他带Apache的UNIX上使用的话也是没有问题的。找到放置你的data和cgi-bin的目录,例如:/usr/local/apache/share然后:
1. cd /usr/local/apache/share
tar -zxvBpf openwebmail-X.XX.tgz
mv data/openwebmail htdocs/
rmdir data
2. 修改/usr/local/apache/share/cgi-bin/openwebmail/etc/openwebmail.conf
a. 设置mailspooldir 为你系统的存放邮件的spool目录
b. 设置ow_htmldir为 '/usr/local/apache/share/htdocs'
设置ow_cgidir为 '/usr/local/apache/share/cgi-bin'
c. 设置spellcheck 为'/usr/local/bin/ispell'
d. 修改default_signature 为你自己喜欢的签名
e. 其他你想修改的地方
3. cd /usr/local/apache/share/cgi-bin/openwebmail
修改#!/usr/bin/perl为你系统suidperl的路径
openwebmail.pl, openwebmail-main.pl,
openwebmail-read.pl, openwebmail-viewatt.pl,
openwebmail-send.pl, openwebmail-spell.pl,
openwebmail-prefs.pl, openwebmail-folder.pl and checkmail.pl
修改auth_unix.pl
a. 设置变量$unix_passwdfile 为'/etc/shadow'
b 设置变量$unix_passwdmkdb to 'none'
检查你的DBM系统
---------------------
unix系统之间的DBM系统是不同的,所以必须针对不同的系统来改变在openwebmail.conf文件里的dbm_ext和dbmopen_ext 选项来使得Openwebmail在你的系统上正常工作(例如: Colbat,Solaris,Linux/Slackware)
通过下面两种方法找出你的正确设置:
perl cgi-bin/openwebmail/uty/dbmtest.pl [enter]
得到输出:
dbm_ext db
dbmopen_ext none
然后把这两行放到openwebmail.conf文件中
配置OPENWEBMAIL使用其他的SMTP服务器
----------------------------------------
要配置openwebmail 来使用其他的SMTP服务器来发送电子邮件,必须在openwebmail.conf设置’smtpserver’参数。只要把默认的参数'127.0.0.1' SMTP服务器的域名或者IP地址就可以了。
请确认你配置的SMTP服务器允许你的OpenWebMail主机转发邮件。
邮件过滤
--------------
邮件过滤检查收件箱中的邮件是否符合用户定义的过滤规则,如果匹配则移动/复制这些邮件到目标文件夹。如果移动这些文件到垃圾箱,意味着从文件夹中删除邮件,如果在一个过滤规则中定义目标文件夹为收件夹,那么这些规则将被忽略,任何匹配规则的邮件将被保留在收件夹二其他的规则将被忽略。
命令工具 checkmail.pl
-------------------------
因为邮件过滤只在打开WebMail的时候才生效,这就以为着邮件一直保留在收件夹中知道用户打开webmail。所以'finger' 或者其他的邮件状态检查工具可能会给我们错误信息,因为他们不知道过滤的事情。
有一个命令行工具可以用来替换状态检查命令,它首先对邮件进行过滤然后报告邮件的状态。一些fingerd允许用户通过-p参数定义finger程序的名字(例如: FreeBSD的fingerd). To通过改变/etc/inetd.conf文件中的fingerd的参数,用户可以获得他们在远程服务器上的邮件状态。checkmail.pl 也可以用crontab来预取pop3邮件或者对用户的文件夹重建索引:
59 23 * * * /usr/local/www/cgi-bin/openwebmail/checkmail.pl -a -p -i -q
上面的crontab将预取pop3邮件,并且在每天的23:59分自动处理邮件过滤和文件夹索引。
全局地址簿和全局过滤规则
---------------------------------
目前版本的OpenWebmail对全局地址簿支持非常有限。管理员自己必须复制地址簿文件/过滤为定义的文件
注:可以创建一个维护全局地址簿和过滤规则的用户,如:'global'
ln -s your_global_addressbook ~global/mail/.address.book
ln -s your_global_filterbook ~global/mail/.filter.book
请确认全局文件可以被用户'global'写以及所有用户可读。
拼写检查支持
-------------------
要在 openwebmail中支持拼写检查,必须安装ispell或者aspell包。
1. 从系列地址下载ispell-3.1.20.tar.gz :
http://www.cs.ucla.edu/ficus-members/geoff/ispell.html
或者你可以安装FreeBSD或Linux的发行包。
注:如果从源代码包编译ispell,需要使用更好的字典包来加强拼写检查:
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执行文件路径
3. 如果对ispell/aspell安装了多个字典,可以把它们放到openwebmail.conf 中的spellcheck_dictionaries 选项后面,这些字典的名字应该用逗号分隔。
注:检查系统的字典是否安装成功可以用下面的命令测试:
ispell -d dictionaryname -a
4. 如果使用的字典用的语言不是英语,必须在定义openwebmail-spell.pl 中的%dictionary_letters为那个字典定义作定义
自动回复支持
-----------------
在OpenWebMail中的自动回复功能用的是vacation特性。但vacation功能并不是在所有的UNIX上都有的,所以openwebmail发布了一个perl版本的vacation程序'vacation.pl' 该程序预Soalris上的有同样的语法
如果自动回复在你的系统上不工作,你可以使用-d参数来开启这个程序的debug功能:
1. 选择一个用户,在openwebmail中开启自动回复的功能。
2. 编辑用户的~user/.forward 文件,在vacation.pl后加上-d 参数。
3. 向这个用户发送一个邮件来测试自动回复
4. 检查/tmp/vacation.debug 来获得可能的信息
冷风注:在RedHat7.x上你需要作如下步骤才能正常使用自动回复功能:
cd /etc/smrsh
ln –s /var/www/cgi-bin/openwebmail/vaction.pl /etc/smrsh
BIG5<->GB编码转换
--------------------
Openwebmail支持在阅读和书写邮件的时候对中文字符集的GB(大陆中文编码)和Big5(应用于台湾香港的中文字符编码)之间的编码转换。为了使该功能正常实现,必须按照一下步骤安装:
1.下载hc-30.tar.gz(作者:Ricky Yeung(Ricky.Yeung.AT.eng.sun.com) 和Fung F. Lee (lee.AT.umunhum.stanford.edu)。
2. tar -zxvf hc-30.tar.gz
cd hc-30
make
3. 复制'hc'和'hc.tab'到cgi-bin/openwebmail或者/usr/local/bin(我的机器上复制到/usr/local/bin无效。
4. 修改openwebmail.conf、g2b_converter和b2g_converter.
虚拟主机
---------------
只要安装一份Openwebmail就可以在上面运行我们需要的任何数量的虚拟主机。OpenWebmail可以为每个域设置单独的配置文件。每个域可以有自己的一套配置参数.包括域名,认证模块,空间限制以及mailspooldir等等
甚至可以创建非UNIX系统帐户的用户作为邮件帐户,相关内容请访问Kevin Ellis的主页:
How to setup virtual users on Open WebMail using Postfix & vm-pop3d"(http://www.bluelavalamp.net/owmvirtual/)
例子:为虚拟域sr1.domain.com创建一个配置文件
1. cd cgi-bin/openwebmail/etc/sites.conf/
2. cp ../openwebmail.conf sr1.domain.com
3. 编辑文件'sr1.domain.com' 文件重的参数来定制它