FreeBSD4.7环境下构建中小企业Qmail邮件系统
第一章 所需软件和注意事项
所需软件
ucspi-tcp-0.88.tar.gz
#ee index.和invalid.html的
然后修改apache的httpd.conf文件
NameVirtualHost 192.168.0.2
SetEnv SQWEBMAIL_TEMPLATEDIR /home/wmail/html
ScriptAlias “/cgi-bin/” “/home/wmail/www/cgi-bin/”
AllowOverride All
Options +Includes
ServerAdmin postmaster@localhost.com
DocumentRoot /home/wmail/www
ServerName mail2.localhost.com
这样使用:http://mail2.localhost.com就可以访问wmail了。
如果你想同时使用sqwebmail。
在httpd.conf中加入一下:
ScriptAlias “/cgi-bin/” “/usr/local/apache/cgi-bin”
AllowOverride All
Options +Includes
ServerAdmin postmaster@localhost.com
DocumentRoot /usr/local/apache/htdocs
ServerName mail.localhost.com
这样你就可以使用:
http://mail.localhost.com 来访问sqwebmail
http://mail2.localhost.com 来访问wmail了
十三、 成批添加用户
A:第一种方法:
a.在home目录下建立文件adduser.sh
touch adduser.sh
b.编辑adduser.sh
ee adduser.sh 加入一下内容:
#!/usr/bin
while read line
do
echo $line
/home/vpopmail/bin/vadduser $line $line
done < user
c.建立文件user,并输入用户
touch user
ee user
11
22
33
d.执行adduser.sh
./adduser.sh
这样user文件中输入的用户就添加到默认域中了,用户名和密码都是一样的。
B:第二种方法:
a. 建立batchuseradd.sh文件,内容如下:
#!/bin/sh
#batchadduser.sh: batch add mail user.
#install step.
#chmod u+x batchadduser
#./batchadduser.sh domain datafile
if [ $# -lt 2 ]
then
echo "usage: $0 domain datafile"
exit 1
fi
domain=$1
datafile=$2
addcmd=/home/vpopmail/bin/vadduser
while read username passwd
do
$addcmd $username@$domain $passwd
done < $datafile
b. 建立datafile文件,格式如下:
user1 passwd1
user2 passwd2
user3 passwd3
…… ………..
c. chmod u+x batchuseradd.sh
d. ./batchuseradd localhost.com datafile
十四、 附录
1、 Qmail的主要配置文件
badmailfrom none qmail-smtpd 黑名单地址
bouncefrom MAILER-DAEMON qmail-send 退回邮件
bouncehost me qmail-send 退回邮件
concurrencylocal 10 qmail-send 本地同时投递邮件的数目
concurrencyremote 20 qmail-send 同时投递至远程主机的数目
defaultdomain me qmail-inject 默认域名
defaulthost me qmail-inject 默认主机名
databytes 0 qmail-smtpd 邮件的最大容量 (0=无限制)
doublebouncehost me qmail-send
doublebounceto postmaster qmail-send
envnoathost me qmail-send 没有"@"的默认域名
helohost me qmail-remote 主机名
idhost me qmail-inject Message-ID的主机名
localiphost me qmail-smtpd 本地IP的替代名
locals me qmail-send 传递至本地的域名
me 系统正式域名 various
morercpthosts none qmail-smtpd 第二个rcpthosts
percenthack none qmail-send 使用 "%"格式的域名
plusdomain me qmail-inject
qmqpservers none qmail-qmqpc QMQP服务器的IP地址
queuelifetime 604800 qmail-send 在队列中邮件保存的时间(秒)
rcpthosts none qmail-smtpd 接收邮件的域名
smtpgreeting me qmail-smtpd
smtproutes none qmail-remote
timeoutconnect 60 qmail-remote SMTP连接超时时间
timeoutremote 1200 qmail-remote 等待远程主机的时间
timeoutsmtpd 1200 qmail-smtpd SMTP客户连接超时的时间
virtualdomains none qmail-send 虚拟域名
2、 vpopmail参数附录
--enable-roaming-users=n|y
当pop3认证通过后,是否打开对该用户的邮件转发(mail relay),缺省是关闭的。若设置该选项为y,当某个用户通过了pop3认证,则将其IP地址加入许可通过该邮件服务器进行relay的列表中。一个名为clearopensmtp的cronjob程序可以用来实现在这一段时间以后从允许转发邮件地址列表中将该IP地址清除。这个选项要求以-x /etc/tcp.smtp.cdb选项来使用tcpserver运行smtp服务器。
--enable-hardquota=size|n size为具体的数字
设置或打开磁盘限额功能,NOQUOTA缺省为50M,这里=后面的数字单位为字节,如果要限制磁盘限额为10M就需要使用下面这个配置参数:
--enable-hardquota=10000000
若磁盘限额超出,将拒绝接受该用户的新邮件,并返回一封拒绝信息邮件,其中的信息可以定制。
--enable-default-domain=name
该选项为设定缺省域名,推荐将所有的域都设置为虚拟域,并选中一个作为缺省域。对于缺省域的用户,其通过接受邮件时,只需要在用户名中设置其邮件用户名即可,对于其他非缺省域的用户,则需要将用户名设置为
--enable-ip-alias-domains=y|n
允许通过反向解析来查看虚拟域。缺省情况下,每个域使用基于虚拟域的名字,也就是用户必须在pop3用户名中提供相应的域信息,也就是
--enable-relay-clear-minutes=360
允许漫游用户通过邮件服务器的转发邮件的时间段。 若--enable-roamin-users=y,则该选项设置clearopensmtp应该保持该IP在允许列 表中的时间,缺省是3小时。
Mysql options
--enable-mysql=n|y
使用mysql,缺省是no.允许通过将账号存放在mysql数据库中来认证用户。
意:在配置和编译以前需要修改文件vmysql.h,正确的设置mysql服务器的 name/ip, mysql用户和mysql用户密码。该用户必需要拥有创建数据库和在其中创建表格的权限。
--enable-sqlincdir=
sql头文件的目录,缺省为/usr/local/mysql.
--enable-sqllibdir=/usr/lib/mysql
库文件libmysqlclient.a的目录,缺省为/usr/lib/mysql
--enable-sqllibs=mysqlclient
mysql库名,缺省为libmysqlclient.a.
--enable-large-site=n|y
缺省值为no,使用该选项是为了适应大量用户的情况。缺省的vpopmail将所有的域信息存放在同一个table-vpopmail中,这对于一般情况下具有很好的效率。但是对于大量用户的系统,则需要将该选项设置为yes。这时候,vpoomail将为每个域创建一个table。最主要的区别是域名不存放在数据库中,因为表格包含了域名。对于大于500,000+的用户,这可以节省大量的磁盘空间。但是对于有大量虚拟域的系统可能会影响mysql的性能。
Vpasswd/cdb options
--enable-ucspi-dir=dir
编译好ucspi包的目录位置,使用该目录来设定ucspi-tcp软件包的路径,缺省为../ucspi-tcp-0.84。vpopmail需要使用该目录中的头文件和两个.a文件。
Logging options
--enable-logging=e|y|n
打开(y)或关闭(n)使用syslog进行log,或e仅仅log错误信息。设置log级别,缺省仅仅记录pop认证错误信息。
--enable-log-name=vpopmail
设置log名
User/group options
--enable-vpopuser=vpopmail
若使用其他的用户来安装该软件包,则在该选项中指定组名。 --enable-vpopgroup=vchkpw
若使用其他的组来安装该软件包,则在该选项中指定组名。
--enable-admin-email=email-address
系统管理员的电子邮件地址。
Directory and file location options
--enable-tcpserver-file=/etc/tcp.smtp tcpserver –x
使用的邮件转发配置文件的存放目录,缺省为/etc
--enable-qmaildir=dir
qmail的安装目录指定,缺省为/var/qmail。
--enable-tcprules-prog=/usr/local/bin/tcprules
tcprules程序的安装位置,缺省为/usr/local/bin
--enable-apop-file=/etc/apop-secrets
apop密钥存放目录
Other options
--enable-apop=y|n
允许或禁止apop认证,缺省是yes
--enable-passwd=y|n
允许或禁止/etc/passwd(或shadow)认证。覆盖自动配置,缺省的配置程序将自动检测系统是使用passwd或shadow密码,通过设置该选项为no,可以禁止所有的/etc/passwd账号认证。
十五、 结束语
至此,一个支持web收发邮件和smtp认证、mail from auth的邮件系统已经建立起来了,该系统支持web页面管理虚拟域。
由于本人技术有限,而且没有任何写作功底,错误之处在所难免,如有发现请批评指正,谢谢! 进入讨论组讨论。
- 最新文章
- qmail邮件系统安装(freebsd 3.4)[01-03]
- FreeBSD 5.3 与 Apache2.0建立列目录[01-03]
- FreeBSD网站平台建设全过程 第一步[01-03]
- FreeBSD FTP 的架设[01-03]
- 理解FreeBSD中的图形界面X系统[01-03]
- FreeBSD下编译升级内核的不同操作手法[01-03]
- 相关文章
- qmail邮件系统安装(freebsd 3.4)[01-03]
- FreeBSD 5.3 与 Apache2.0建立列目录[01-03]
- FreeBSD网站平台建设全过程 第一步[01-03]
- FreeBSD FTP 的架设[01-03]
- 理解FreeBSD中的图形界面X系统[01-03]
- FreeBSD下编译升级内核的不同操作手法[01-03]
