FreeBSD下E-mail服务搭建

12/3/2006来源:Qmail人气:8305

FreeBSD支持在Internet上收发电子邮件,也能被用作一台功能强大的邮件服务器,为众多使用不同操作系统的客户机服务。因此本文主要讨论利用“qmail”邮件程序在FreeBSD下的搭建过程。

其实FreeBSD系统缺省已包括了sendmail邮件程序,它按照SMTP协议在Internet上接收和发送E mail。sendmail在缺省设置下就已经能够正常工作,一般情况不需要进行改动。如果要定制自己的邮件服务,就需要更改sendmail的配置文件“sendmail.cf”,这个文件相当复杂,难于设置。

第一步:下载几个安装包(版本可依据自己情况而定)

Qmail(本文的版本为 1.5.3)
sqwebmail-3.5.0(汉化安装包)
vqregister-2.5(也有汉化版本,可提供qmail邮箱注册功能)

由于笔者最先使用的下载地址已失效,请读者朋友们自行搜索这三个下载包,这里就不给出具体地址了,敬请谅解。

第二步:将下载的安装文件放在某个目录(本例为“/home/sy/app”)。解压Qmail,命令格式为:

# cd /home/sy/app
# tar zxvf qmail_setup-v1.5.3.tar.gz

第三步:进入解压目录,再将“sqwebmail”中文安装包拷到此目录,命令格式为:

# cd Qmail_setup
# cp../sqwebmail-3.5.0-cn.tar.gz. /
第四步:重新编辑安装配置文件“setup”,命令格式为: # vi setup

编辑内容举例如下。除了这些内容,其实还有很多高级功能可以编辑设定,比如使用数据库Sql等,这里就不一一列举命令格式了,可以参照实际需要设置,一般有了以下基本设置即可:

_OS="FreeBSD" # 操作系统类型为FreeBSD
_LANG="CN" # 默认语言为中文
_INSTALLAPACHE="NO" # 不安装apache
_ADDQMAILUSERS="YES" # 添加qmail用户
_DOMAIN=mail01.sy1234.com #定义域名
_MAILPASSWD=1234 #管理员密码
_CGIBIN=/usr/local/www/cgi-bin #指定CGI路径
_HTMLPATH=/usr/local/www/data #指定Html路径
_MAILSIZE=100000000 #设置邮箱容量为100M
_SYSTEMPASS=n #不使用系统用户验证

第五步:修改sqwebmail,让系统自动安装新的sqwebmail程序。

1. 在安装配置文件“setup”里找到以下语句:
tar xzf sqwebmail-3.3.7.20020910.tar.gz
cd sqwebmail-3.3.7.20020910
if [ "$_LANG" = "CN" ]; then
cp /tmp/iceblood/Qmail_setup/iceblood/sqwebmailcn/*.html sqwebmail/html/en-usfi

2. 将前两句作修改,变为以下语句:
tar xzf sqwebmail-3.5.0-cn.tar.gz
cd sqwebmail-3.5.0
if [ "$_LANG" = "CN" ]; then
cp /tmp/iceblood/Qmail_setup/iceblood/sqwebmailcn/*.html sqwebmail/html/en-usfi

第六步:开始执行安装程序,完成后系统会自动运行qmail程序。这时可以通过“qmail start|stop”命令来手动启动或停止qmail程序

# chmod 700 setup
# ./setup
第七步:解压vqregister-2.5,并进入其安装目录,命令格式为:

# cd /home/sy/app/
# tar zxvf vqregister-2.5-cn.tar.gz
# cd /home/ylf/app/vqregister-2.5-cn

第八步:修改安装目录中的两个文件“register.c”和“Makefile”。

1. 修改“register.c”。
%26#61548; 打开“register.c”,命令格式为:# vi register.c
%26#61548; 找到如下语句:
eret = execl("/var/qmail/bin/qmail-remote", "/var/qmail/bin/qmail-remote", p, "
[email protected]", cemail, NULL);
%26#61548; 将qmail的路径指向正确的路径,比如:
eret = execl("/usr/local/qmail/bin/qmail-remote", "/usr/local/qmail/bin/qmail-remote", p, "
[email protected]", cemail, NULL);

2. 修改“Makefile”。
%26#61548; 打开“Makefile”,命令格式为:# vi Makefile
%26#61548; 找到如下语句:
DEFS = -I$(VDIR)/include -I/usr/local/MySQL/include
LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/local/mysql/lib/mysql -lmysqlclient
INSTALL_DIR = /usr/local/apache/cgi-bin/vqregister
%26#61548; 将里面的路径改为本机实际路径,比如:
DEFS = -I$(VDIR)/include -I/usr/local/include/mysql
LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/local/lib/mysql -lmysqlclient
INSTALL_DIR = /usr/local/www/cgi-bin/vqregister

第九步:编译安装vqregister,命令格式为:# make install
第十步:安装完成后编辑vqregister的配置文件“vqregister.conf”。

# cd /usr/local/www/cgi-bin/vqregister
# vi vqregister.conf
AdminEmail
[email protected] #设置管理信息
AllowDomain mail01.sy1234.com #设置邮箱使用的域名

第十一步:测试vqregister。

在浏览器地址栏输入http://mail01.sy1234.com/cgi-bin/vqregister/vqregister.cgi ,按要求添入注册信息,如果提交后显示注册成功信息,则证明vqregister安装成功。如果出现错误,请按提示检查注册信息或检查“vqregister.conf”配置文件。

第十二步:开始测试此Qmail环境。

确认“mail01.sy1234.com”已经正确指向了主机ip地址。然后在浏览器地址栏输入http://mail01.sy1234.com/cgi-bin/qmailadmin ,进入“qmailadmin”管理界面,其中的域名填入刚才设定的“mail01.sy1234.com”,密码填入“1234”,登录后即可开始管理邮件账号。

再建立一个新用户,然后在浏览器地址栏输入http://mail01.sy1234.com/cgi-bin/sqwebmail ,进入“webmail”,用刚才建立的用户登录,即可收发邮件。至此,邮件服务的搭建也宣告完成。

,