在Linux下安装邮件服务器Qmail(一)

我还未测试,收藏

在Linux下安装邮件服务器Qmail

功能列表

SMTP服务器:SMTP-AUTH认证(Plain,Login,CRAM-MD5)TLS(SSL)支持

POP3服务器:CRAM-MD5APOP和SSL支持

IMAP服务器:TLS(SSL)支持

病毒和垃圾邮件检测

自动回复

邮件列表

Web管理

通过Web显示统计信息

WebMail

我还未测试,收藏

在Linux下安装邮件服务器Qmail

功能列表

SMTP服务器:SMTP-AUTH认证(Plain,Login,CRAM-MD5)TLS(SSL)支持

POP3服务器:CRAM-MD5APOP和SSL支持

IMAP服务器:TLS(SSL)支持

病毒和垃圾邮件检测

自动回复

邮件列表

Web管理

通过Web显示统计信息

WebMail

MRTG

安装准备

安装环境

这个安装过程基本上你只需要复制粘贴就可以完成.我在RedHat上安装成功其他系统还没试过.

在Linux下安装邮件服务器Qmail

功能列表

SMTP服务器:SMTP-AUTH认证(Plain,Login,CRAM-MD5)TLS(SSL)支持

POP3服务器:CRAM-MD5APOP和SSL支持

IMAP服务器:TLS(SSL)支持

病毒和垃圾邮件检测

自动回复

邮件列表

Web管理

通过Web显示统计信息

WebMail

MRTG

安装准备

安装环境

这个安装过程基本上你只需要复制粘贴就可以完成.我在RedHat上安装成功其他系统还没试过.

为了方便安装我在安装Redhat3.0时选了apache、php、mysql注意 mysql-devel和mysql-server开发包一定要装上.另外大家在安装LINUX时一定要装上软件开发和内核开发两个软件组这样可以避免不必要的由于编译环境的问题而导致的安装问题这点对于LINUX 新手犹为重要。安装系统后一般另需安装php-mysql这个包在安装光碟第三张。AS3.0安装后并没有mysql-server软件包需自行下载安装为方便大家mysql-server软件包我已经与所有软件放在一个包中。

要确认下面的软件是否已经安装

rpm -q httpd

rpm -q php

rpm -q php-mysql

rpm -q mysql

rpm -q mysql-server

rpm -q mysql-devel

rpm -q gdbm

rpm -q gdbm-devel

rpm -q openssl

rpm -q openssl-devel

rpm -q stunnel

rpm -q krb5-devel

如果你还没有安装, 请先安装它们. 你可以到安装光盘或是在这里找到它们的RPM包 http://www.rpmfind.net.

启动mysql server:

# /etc/rc.d/init.d/mysqld start

设置mysql root口令

# mysqladmin -u root password ‘xukixu’(设置你的密码)

mysql的头文件和库文件分别在/usr/include/mysql和/usr/lib/mysql。

安装完Redhat3.0后修改/etc/httpd/conf/httpd.conf使web服务正常启用为mysql添加root用户的密码。如果设置了防火墙要打开服务器的www 80、smtp 25和pop3 110三个端口。

检查DNS设置

在开始之前确保正确设置了DNS MX记录.例如使用"domain.com"作为邮件域对MX记录进行测试

在Linux下

# host -t mx domain.com

domain.com. mail is handled by 10 mail.domain.com.

# host -t a mail.domain.com

mail.domain.com. has address xxx.xxx.xxx.xxx

在Windows下

C:\>nslookup

Default Server: ns.domain.com

Address: xxx.xxx.xxx.xxx

>set type=mx

>domain.com

domain.com MX preference = 10, mail exchanger = mail.domain.com

mail.domain.com internet address = xxx.xxx.xxx.xxx

>exit

卸载已有的邮件系统

确认没有SMTP/POP/IMAP服务在运行:

/etc/init.d/sendmail stop

netstat -na | grep 25

netstat -na | grep 110

netstat -na | grep 143

ntsysv

删除已有的SMTP/POP/IMAP软件:

rpm -e --nodeps sendmail

rpm -e --nodeps postfix

下载软件

文中所用的软件

netqmail-1.05.tar.gz

daemontools-0.76.tar.gz

daemontools-0.76.errno.patch

autorespond-2.0.5.tar.gz

toaster-scripts-0.6.tar.gz

qmail-toaster-0.6-1.patch.bz2

ezmlm-0.53.tar.gz

ezmlm-idx-0.42.tar.gz

courier-imap-2.2.2.20040207.tar.bz2

igenus_2.0.2_20040901_release.tgz

mysql-server-3.23.58-1.i386.rpm

qmailadmin-1.2.3.tar.gz

chkuser-0.6.mysql.patch

ucspi-tcp-0.88.a_record.patch

ucspi-tcp-0.88.errno.patch

ucspi-tcp-0.88.nobase.patch

ucspi-tcp-0.88.tar.gz

vpopmail-5.4.7.tar.gz

qmailadmin-1.2.3.tar.gz

vqadmin-2.3.6.tar.gz

Mail-SpamAssassin-3.0.1.tar.gz

clamav-0.80.tar.gz

qmail-scanner-1.22.tgz

qms-analog-0.3.4.tar.gz

maildrop-1.7.0.tar.bz2

tnef-1.2.3.1.tar.gz

qmailanalog-0.70.tar.gz

qmailanalog-0.70.errno.patch

qlogtools-3.1.tar.gz

qlogtools_errno.patch

zlib-1.1.4.tar.gz

libpng-1.2.7.tar.gz

gd-1.8.3.tar.gz

mrtg-2.10.15.tar.gz

qmailmrtg7-4.0.tar.gz

igenus_admin_0.1.tgz

isoqlog-2.1.1.tar.gz

我把下文中所提到的软件打成了一个包,下载地址为:http://www.xuki.org/qmail_2.0.tar.g...莞鋈讼肮甙伞?

tar -xzf netqmail-1.05.tar.gz

cd netqmail-1.05

./collate.sh

注意./collate.sh这一步不要忘

--------------------------------------------------------------------------------

安装软件

daemontools

daemontools是一个收集管理UNIX进程的工具.用它来监听qmail-send,qmail-smtpd,qmail-pop3d.

安装

cd /home/pkg

tar -zxvf daemontools-0.76.tar.gz

cd admin/daemontools-0.76

patch -p1 < /home/pkg/netqmail-1.05/other-patches/daemontools-0.76.errno.patch

package/install

# 验证daemontools已经正常运行

sleep 5

ps ax | grep svscan

--------------------------------------------------------------------------------

ucspi-tcp

ucspi-tcp包括tcpserver和tcpclient,一个命令行工具来建立client-server应用程序.

安装

cd /home/pkg

tar zxvf ucspi-tcp-0.88.tar.gz

cd ucspi-tcp-0.88

patch -p1 < ../ucspi-tcp-0.88.a_record.patch

patch -p1 < ../ucspi-tcp-0.88.errno.patch

patch -p1 < ../ucspi-tcp-0.88.nobase.patch

make

make setup check

qmail

这个toaster补丁是下面这几个补丁的组合:

smtp auth 0.4.2

qmail-queue (to allow for virus scanners)

maildir++ patch

support oversize dns packets (not necessary if you use dnscache)

mfcheck (check that the envelope sender has a dns entry)

tarpit delay

qregex (regular expression matching in badmailfrom and badmailto)

big concurrency (set the spawn limit above 255)

安装:

mkdir /var/qmail

groupadd nofiles

useradd -g nofiles -d /var/qmail/alias alias

useradd -g nofiles -d /var/qmail qmaild

useradd -g nofiles -d /var/qmail qmaill

useradd -g nofiles -d /var/qmail qmailp

groupadd qmail

useradd -g qmail -d /var/qmail qmailq

useradd -g qmail -d /var/qmail qmailr

useradd -g qmail -d /var/qmail qmails

# 在这里把vpopmail用户也加上

groupadd -g 89 vchkpw

useradd -u 89 -g vchkpw vpopmail

cd /home/pkg

tar -xzf toaster-scripts-0.6.tar.gz

cd netqmail-1.05/

bunzip2 -c ../qmail-toaster-0.6-1.patch.bz2 | patch -p0

cd netqmail-1.05

# 注:在RedHat上需要为TLS补丁链接一个include文件:

ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/krb5.h \

/usr/kerberos/include/profile.h /usr/include/

make

make setup check

# 用你自己的主机名代替下面的mail.domain.com

./config-fast mail.domain.com

cd /var/qmail/alias

touch .qmail-postmaster .qmail-mailer-daemon .qmail-root

chmod 644 /var/qmail/alias/.qmail*

cd -

echo 1 > /var/qmail/control/mfcheck

echo ./Maildir/ >/var/qmail/control/defaultdelivery

make cert

# 按提示输入公司信息

make tmprsadh

# 注:这里可能要多等一会

# 用"crontab -e"在crontab里增加下面这条每天晚上更新temp keys

01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1

为qmail服务建立监控目录和日志文件:

mkdir -p /var/qmail/supervise/qmail-send/log

mkdir -p /var/qmail/supervise/qmail-smtpd/log

mkdir -p /var/qmail/supervise/qmail-pop3d/log

mkdir -p /var/qmail/supervise/qmail-pop3ds/log

chmod +t /var/qmail/supervise/qmail-send

chmod +t /var/qmail/supervise/qmail-smtpd

chmod +t /var/qmail/supervise/qmail-pop3d/log

chmod +t /var/qmail/supervise/qmail-pop3ds/log

cp /home/pkg/toaster-scripts-0.6/send.run /var/qmail/supervise/qmail-send/run

cp /home/pkg/toaster-scripts-0.6/send.log.run /var/qmail/supervise/qmail-send/log/run

cp /home/pkg/toaster-scripts-0.6/smtpd.run /var/qmail/supervise/qmail-smtpd/run

cp /home/pkg/toaster-scripts-0.6/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run

cp /home/pkg/toaster-scripts-0.6/pop3d.run /var/qmail/supervise/qmail-pop3d/run

cp /home/pkg/toaster-scripts-0.6/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run

cp /home/pkg/toaster-scripts-0.6/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run

cp /home/pkg/toaster-scripts-0.6/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run

echo 20 > /var/qmail/control/concurrencyincoming

chmod 644 /var/qmail/control/concurrencyincoming

chmod 755 /var/qmail/supervise/qmail-send/run

chmod 755 /var/qmail/supervise/qmail-send/log/run

chmod 755 /var/qmail/supervise/qmail-smtpd/run

chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

chmod 755 /var/qmail/supervise/qmail-pop3d/run

chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

chmod 755 /var/qmail/supervise/qmail-pop3ds/run

chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run

mkdir -p /var/log/qmail/smtpd

mkdir -p /var/log/qmail/pop3d

mkdir -p /var/log/qmail/pop3ds

chown -R qmaill /var/log/qmail

启动脚本:

cp /home/pkg/toaster-scripts-0.6/rc /var/qmail/

cp /home/pkg/toaster-scripts-0.6/qmailctl /var/qmail/bin/

chmod 755 /var/qmail/rc

chmod 755 /var/qmail/bin/qmailctl

ln -s /var/qmail/bin/qmailctl /usr/bin

ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

# 用daemontools来启动qmail-send和qmail-smtpd

ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service

命令:

# 启动停止重启查看队列等

qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help

# 检查服务

netstat -an | grep 25

ps -ef | grep qmail

ps -efl | grep "service errors" | grep -v grep

日志

/var/log/maillog

/var/log/qmail/current

/var/log/qmail/pop3d/current

/var/log/qmail/pop3ds/current

/var/log/qmail/smtpd/current

我建议重新回顾一下刚才我们所做的步骤以熟悉对qmail的安装. 下面我们将开始vpopmail的安装.

--------------------------------------------------------------------------------

vpopmail

vpopmail是一个以qmail为基础的虚拟域管理包

vpopmail的用户和组我们前边已经建立了

配置:

mkdir -p /home/vpopmail/etc

# 设置默认域红色部份改成你要设置的域。

echo "domain.com" > /home/vpopmail/etc/defaultdomain

# 设置smtp规则关闭open relays

echo '127.0.0.1:allow,RELAYCLIENT=""' > /home/vpopmail/etc/tcp.smtp

cd ~vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

# 设置MySQL信息第一个vpopmail是帐号xukixu为密码第二个vpopmail是数据库

echo "localhost|0|vpopmail|xukixu|vpopmail" > ~vpopmail/etc/vpopmail.mysql

chmod 640 ~vpopmail/etc/vpopmail.mysql

chown -R vpopmail.vchkpw /home/vpopmail/etc

# 在MySQL里添加vpopmail的帐号

/usr/local/mysql/bin/mysql -uroot --pxukixu

CREATE DATABASE vpopmail;

GRANT select,insert,update,delete,create,drop ON vpopmail.*

TO vpopmail@localhost IDENTIFIED BY 'xukixu';

FLUSH PRIVILEGES;

QUIT

安装:

cd /home/pkg/

tar zxvf vpopmail-5.4.7.tar.gz

cd vpopmail-5.4.7

.

# 带数据库支持

./configure --enable-auth-module=mysql \

--enable-incdir=/usr/include/mysql \

--enable-libdir=/usr/lib/mysql \

--enable-mysql-logging \

--enable-mysql-limits \

--enable-valias \

--enable-logging=y

make

make install-strip

管理:

echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile

source /etc/profile

# 添加域红色部份前面是域名后面是管理员(postmaster)密码

vadddomain domain.com xukixu

# 添加用户红色部份为注解不用输入

vadduser -q 10485760S(邮箱大小) xukixu@domain.com(邮箱帐号) 1234(密码)

vmoduser -c 许靖(邮箱描述) xukixu@domain.com

# 设置邮箱容量达到90%的警告信息

vi /home/vpopmail/domains/.quotawarn.msg

From: 邮箱管理员

Reply-To: postmaster@domain.com

To: 邮箱用户

Subject: 邮箱空间警告

Mime-Version: 1.0

Content-Type: text/html; charset=gb2312

Content-Transfer-Encoding: base64

您的邮箱空间已经达到90%.如果想继续使用请删除一些信件.

如果需要帮助,请联系邮箱管理员:

Email : postmaster@domain.com

# 设置邮箱已满的警告信息

echo "邮件被拒绝,用户的邮箱空间已满." > /home/vpopmail/domains/.over-quota.msg

启动脚本:

cp /home/pkg/toaster-scripts-0.6/vpopmailctl /var/qmail/bin

ln -s /var/qmail/bin/vpopmailctl /usr/bin

chmod 755 /var/qmail/bin/vpopmailctl

# 用daemontools来启动qmail-pop3d和qmail-pop3ds

ln -s /var/qmail/supervise/qmail-pop3d /service

ln -s /var/qmail/supervise/qmail-pop3ds /service

命令:

# 启动停止重启查看队列等

vpopmailctl start|stop|restart|stat|pause|cont|help

# 检查服务

netstat -an | grep 110

ps -ef | grep qmail

ps -efl | grep "service errors" | grep -v grep

补丁:

# 带数据库支持

cd /home/pkg/netqmail-1.05/netqmail-1.05

patch -p0 < /home/pkg/chkuser-0.6.mysql.patch

# 如果数据库是自定义安装的还要把libmysqlclient.a复制到指定位置

mkdir -p /usr/local/mysql/lib/mysql/

cp /usr/local/mysql/lib/libmysqlclient.a /usr/local/mysql/lib/mysql/

make clean

make

qmailctl stop

make setup check

qmailctl start

安装选项参考:

vpopmail 5.4.7

------------------------------------

vpopmail directory = /home/vpopmail

uid = 89

gid = 89

roaming users = OFF --disable-roaming-users (default)

password learning = OFF --disable-learn-passwords (default)

md5 passwords = ON --enable-md5-passwords (default)

file locking = ON --enable-file-locking (default)

vdelivermail fsync = OFF --disable-file-sync (default)

make seekable = ON --enable-make-seekable (default)

clear passwd = ON --enable-clear-passwd (default)

user dir hashing = ON --enable-users-big-dir (default)

address extensions = OFF --disable-qmail-ext (default)

ip alias = OFF --disable-ip-alias-domains (default)

domain quotas = OFF --disable-domainquotas (default)

auth module = mysql --enable-auth-module=mysql

mysql replication = OFF --disable-mysql-replication (default)

mysql logging = ON --enable-mysql-logging

mysql limits = ON --enable-mysql-limits

MySQL valias = ON --enable-valias

auth inc = -I/usr/include/mysql

auth lib = -L/usr/lib/mysql -lmysqlclient -lz -lm

system passwords = OFF --disable-passwd (default)

pop syslog = log success and errors including passwords

--enable-logging=v

auth logging = ON --enable-auth-logging (default)

one domain per SQL table = --disable-many-domains

#POP3和SMTP测试

用outlook测试qmail的smtp和pop3是否正常注意由于vpopmail支持虚拟域名所以在outlook中设置邮件帐号时用户名后要加上域名如demo@demo.com。smtp是带认证的在outlook中也要作相应设置。建议先测试正常后再进行下一步安装。如果qmail 出现问题可查看mysql中的vpopmail数据库/var/log下的mysqld和maillog日志记录这样容易很快找出问题。

--------------------------------------------------------------------------------

courier-imap

Courier-IMAP支持IMAP/SIMAP访问

安装:

cd /home/pkg

tar -xjf courier-imap-2.2.2.20040207.tar.bz2

cd courier-imap-2.2.2.20040207

# 作为vpopmail用户进行安装

chown -R vpopmail:vchkpw ../courier-imap-2.2.2.20040207

su vpopmail

./configure --with-redhat

# 注:Redhat用户需要使用"--with-redhat"选项

make

exit

make install-strip

make install-configure

cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap

chmod 755 /etc/rc.d/init.d/courier-imap

chkconfig --add courier-imap

配置:

# 修改文件/usr/lib/courier-imap/etc/authdaemonrc

authmodulelist="authvchkpw"

# 修改文件/usr/lib/courier-imap/etc/imapd

IMAPDSTART=YES

# 修改文件/usr/lib/courier-imap/etc/imapd-ssl

IMAPDSSLSTART=YES

启动:

/etc/rc.d/init.d/courier-imap start

--------------------------------------------------------------------------------

autorespond

Autorespond是一个自动回复工具可以很好的与qmailadmin配合使用

安装:

cd /home/pkg

tar -xvzf autorespond-2.0.5.tar.gz

cd autorespond-2.0.5

make

make install

ezmlm

exmlm是一个快速强大的邮件列表程序可以通过qmailadmin对其进行配置

1.注意为了启用maillist的MySQL支持你必须首先

建立mysql管理用户Ex:user:ezmlm,pass:ezmlm

# mysql -u root –pxukixu

>use mysql;

>insert into user values('localhost','ezmlm','','y','y','y','y','y','y','y','y','y','y','y','y','y', 'y');

>update user set password=password('ezmlm') where user='ezmlm';

>FLUSH PRIVILEGES;

>exit;

建库(Ex:database:ezmlm)

# mysqladmin -u root -pxukixu create ezmlm

2.安装:

cd /home/pkg

tar -xvzf ezmlm-0.53.tar.gz

tar -xvzf ezmlm-idx-0.42.tar.gz

cp -rf ezmlm-idx-0.42/* ezmlm-0.53/

cd ezmlm-0.53

patch < idx.patch

chmod u+x makelang

make mysql #MySQL 支持

make clean

make man

make ch_GB #汉字GB2312支持

修改conf-sqlcc文件

内容为-I/usr/include/mysql

修改conf-sqlld

内容为 -L/usr/lib/mysql -lmysqlclient -lnsl -lm -lz

修改conf-bin

第一行/var/qmail/bin/ezmlm

修改conf-man

第一行/var/qmail/man

修改conf-qmail

第一行/var/qmail

# make setup

3.在你建立一个基于MySQL的maillist之前你必须保证ezmlm库中已存在一个对应的表

Ex:你想建一个基于MySQL的maillist:testlist

# /var/qmail/bin/ezmlm/ezmlm-mktab -d testlist | mysql -uezmlm -pezmlm -f ezmlm

这样就在ezmlm库中为testlist建立了一系列相关表格

+------------------------+

| Tables |

+------------------------+

| testlist |

| testlist_allow |

| testlist_allow_slog |

| testlist_cookie |

| testlist_deny |

| testlist_deny_slog |

| testlist_digest |

| testlist_digest_cookie |

| testlist_digest_mlog |

| testlist_digest_slog |

| testlist_mlog |

| testlist_mod |

| testlist_mod_slog |

| testlist_slog |

+------------------------+

你可以用一下命令察看

# mysqlshow -u root -pxukixu ezmlm

--------------------------------------------------------------------------------

qmailadmin

qmailadmin除了不能添加删除虚拟域外,几乎可以完成所有的虚拟域管理

安装:

cd /home/pkg

tar -xvzf qmailadmin-1.2.3.tar.gz

cd qmailadmin-1.2.3

./configure --enable-htmldir=/var/www/html \

--enable-cgibindir=/var/www/cgi-bin \

--enable-vpopuser=vpopmail \

--enable-autoresponder-bin=/usr/bin \

--enable-ezmlmdir=/var/qmail/bin/ezmlm \

--enable-maxusersperpage=20 \

--enable-maxaliasesperpage=20 \

--enable-modify-quota \

--enable-domain-autofill

make

make install-strip

cd /usr/local/share/qmailadmin/lang

mv en en.bak

cp zh-cn en

安装选项参考:

qmailadmin 1.2.3

---------------------------------------

cgi-bin dir = /var/www/cgi-bin

html dir = /var/www/html

p_w_picpath dir = /var/www/html/p_w_picpaths/qmailadmin

p_w_picpath URL = /p_w_picpaths/qmailadmin

template dir = /usr/local/share/qmailadmin

qmail dir = /var/qmail

vpopmail dir = /home/vpopmail

autorespond dir = /usr/bin

ezmlm dir = /usr/local/bin/ezmlm

ezmlm idx = yes

mysql for ezmlm = yes

help = no

modify quota = yes

domain autofill = yes

modify spam check = no

--------------------------------------------------------------------------------

安装并运行igenus

1.到http://www.igenus.org下载最新的安装...901_release.tgz

#tar zxvf igenus_2.0.2_20040901_release.tgz -C /var/www/

#cd /var/www/

#rm -rf html/

#mv igenus html

2.建temp文件夹

cd /var/www/html/

#mkdir temp

#chmod -R 0755 temp

#chown -R vpopmail:vchkpw temp

#mkdir /home/netdisk

#chmod -R 0755 /home/netdisk

#chown -R vpopmail:vchkpw /home/netdisk

#chmod -R 0755 /var/www/html/

#chown -R vpopmail:vchkpw /var/www/html/

3.修改httpd.conf

#vi /etc/httpd/conf/httpd.conf

Group vchkpw

User vpopmail

DocumentRoot "/var/www/html/"

AddDefaultCharset GB2312 //使默认页面为中文

#/etc/rc.d/init.d/httpd restart //重启apache使修改生效

4.修改config_inc.php文件

# cd /var/www/html/igenus/config

# vi config_inc.php

$CFG_BASEPATH = "/var/www/html/igenus"; \改成你安装的目录

$CFG_MYSQL_HOST = 'localhost';

$CFG_MYSQL_USER = 'vpopmail'; \vpopmail访问mysql的帐号

$CFG_MYSQL_PASS = 'xukixu'; \vpopmail访问mysql的密码

$CFG_MYSQL_DB = 'vpopmail'; \数据库

$CFG_TEMP = $CFG_BASEPATh."/temp"; \改成你安装的目录的当前目录下

5.重新编制Mysql数据库表格

删除之前创建的域名

#/home/vpopmail/bin/vdeldomain domain.com

/usr/local/mysql/bin/mysql -uroot --pxukixu

alter table vpopmail.vpopmail drop primary key;

alter table vpopmail.vpopmail add column pw_id int(5) unsigned NOT NULL PRIMARY KEY auto_increment;

alter table vpopmail.vpopmail add KEY pw_name (pw_name,pw_domain);

编辑/var/www/html/docs/iGENUS.sql

# phpMyAdmin SQL Dump

# version 2.5.3

# http://www.phpmyadmin.net

#

# Host: localhost

# Generation Time: Jun 04, 2004 at 11:26 AM

# Server version: 3.23.55

# PHP Version: 4.3.0

#

# Database : `vpopmail`

#

# --------------------------------------------------------

#

# Table structure for table `address`

#

use vpopmail; //加入这一行

CREATE TABLE `address` (

`id` int(11) unsigned NOT NULL auto_increment,

`pw_id` int(5) NOT NULL default '0',

`name` varchar(64) NOT NULL default '',

`email` varchar(128) NOT NULL default '',

UNIQUE KEY `id` (`id`),

KEY `pw_id` (`pw_id`)

) TYPE=MyISAM PACK_KEYS=1 ;

# --------------------------------------------------------

删除创建'lastauth'表部份。

运行

#mysql -u root -pxukixu </var/www/html/docs/iGENUS.sql 导入数据表。

6. 设置igenus 定义允许上传下载的邮件的大小

编辑/etc/php.ini

max_execution_time=60

memory_limit=20M

post_max_size = 10M

file_uploads=on

upload_max_filesize=10M

register_globals=On

session.bug_compat_42=0

session.bug_compat_warn=0

sendmail_path = /var/qmail/bin/qmail-inject

7编辑/etc/http/conf/httpd.conf

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

DirectoryIndex index.php index.html

NameVirtualHost *:80

<VirtualHost *:80>

ServerName mail.domain.net

DocumentRoot /var/www/html

</VirtualHost>

重启apache:

#service httpd restart

8.如果需要用vadddomain和vadduser添加新域名和新用户。

最后打开浏览器输入http://domain.com/就可以访问网站了。

9.Qmail限制附件的大小

在/var/qmail/control/databytes 文件中设置附件的大小可以实现对qmail附件大小的限制一般安装完成后这个文件是没有的你可以自己创建。

smtp方式是以qmail的databytes作限制的

创建databytes并设置邮件最大为4m

# echo 4000000 >/var/qmail/control/databyte

10.限制单域的邮箱数量

vi /home/vpopmail/domains/domain.com/.qmailadmin-limits

maxpopaccounts 200

default_quota 52428800s

chmod 700 /home/vpopmail/domains/domain.com/.qmailadmin-limits

chwod vpopmail:vchkpw /home/vpopmail/domains/domain.com/.qmailadmin-limits

这样就把邮箱总数限制在200个每个邮箱为50M了

11.用qmail封mailfrom

vi/var/qmail/control/badmailfrom

这个控制文件实现拒收邮件功能的每一个地址要单独一行。而且不用重起qmail就能生效。例如

peng@96633.net -----限制一个特定的用户

@sina.com -----限制整个域中的邮件

--------------------------------------------------------------------------------

安装并运行iGenus_Admin

iGenus_Admin安装

#下载

从www.igenus.org 下载igenus_admin的安装文件igenus_admin_0.1.tgz到/home/pkg

#安装

tar -xzvf igenus_admin_0.1.tgz -C /var/www/html/

#设置

vi /var/www/html/admin/includes/config_inc.php

<?php

/*-

* iGENUS webmail

*

* Copyright (c) 1999-2002 by iGENUS Org.

* All rights reserved.

* Author: Wu Qiong <wuqiong@sczg.com>

*

* $Id: config_inc.php,v 1.11 2004/03/23 13:59:12 wuqiong Exp $

*/

if(!defined("INCLUDE_CONFIG_OK")) {

define("INCLUDE_CONFIG_OK","TRUE");

/* gid flags defind by vpopmail.h */

// define('NO_PASSWD_CHNG',0x01);

define('NO_POP', 0x02);

define('NO_WEBMAIL', 0x04);

// define('NO_IMAP', 0x08);

// define('BOUNCE_MAIL', 0x10);

// define('NO_RELAY', 0x20);

// define('NO_DIALUP', 0x40);

// define('V_USER0', 0x080);

// define('V_USER1', 0x100);

// define('V_USER2', 0x200);

// define('V_USER3', 0x400);

define('NO_SMTP', 0x800);

// define('QA_ADMIN', 0x1000);

$CFG_VPOPMAIL_HOST = "localhost";

$CFG_VPOPMAIL_USER = "vpopmail"; \改为你的帐号

$CFG_VPOPMAIL_PASS = "vpopmail"; \改为你的密码

$CFG_VPOPMAIL_DB = "vpopmail";

$CFG_VPOPMAIL_TABLE = "vpopmail";

$CFG_ADMIN_TABLE = "admin";

$CFG_LAGESITE = true;

$CFG_NUMOFPAGE = 20;

$CFG_MAILBOX['inbox'] = ".";

$CFG_MAILBOX['outbox'] = ".Outbox";

$CFG_MAILBOX['draft'] = ".Draft";

$CFG_MAILBOX['trash'] = ".Trash";

$CFG_VPOPMAIL_PATH = "/home/vpopmail"; \改为你的vpopmail安装目录 

// $CFG_VPOPMAIL_PATH = "/home2/vpopmail";

$CFG_SYSADMIN_NAME = "Admin";

$CFG_SYSADMIN_PASSWD= '$GvmONIcoSwBB.mEoP3KJ5Zda7ioV0';

$CFG_SYSADMIN_PASSWD_FILE = $CFG_VPOPMAIL_PATH . "/etc/syspasswd.dat";

$CFG_TIMEOUT = 600;

$CFG_IGENUS_ADM = "iGENUS邮件系统管理";

$CFG_TEMPLATE_PATH = "template/";

}

?>

保存退出

touch /etc/syspasswd.dat

chown -R vpopmail.vchkpw /var/www/html

chmod -R 755 /var/www/html

#登录设置页面

http;//domain.com/admin/sys/

用户:Admin密码Admin来登录.注意A要大写..这个管理帐号密码登录后可以改的

登录后,首先点"更新数据库"你就会看见你的域名啦.然后点"编辑"把"登录权限 该域管理员Postmaster有权登录进行用户管理"这一项打勾,确认后,就可以用

http;//domain.com/admin/

来登录管理了。

--------------------------------------------------------------------------------

vqadmin

vqadmin是一个基于web 的控制通道. 它允许系统管理员可以执行root用户才能进行的操作.

cd /home/pkg

tar -zxf vqadmin-2.3.6.tar.gz

cd vqadmin-2.3.6

vi db_owner.c

static const char *host="localhost";

static const char *user="vpopmail";

static const char *passwd="xukixu"; /* NULL for no password */

static const char *db="vpopmail";

./configure --enable-mysql=y

make

make install

编辑数据库加入domain_owner表

mysql -uroot -pxukixu

use vpopmail;

CREATE TABLE domain_owner (

domain CHAR(64) NOT NULL,

owner CHAR(32) NOT NULL,

PRIMARY KEY(domain, owner)

);

现在我们需要将下面几行添加到httpd.conf文件中:

vi /etc/httpd/conf/httpd.conf

<Directory "/var/www/cgi-bin/vqadmin">

deny from all

Options ExecCGI

AllowOverride AuthConfig

Order deny,allow

</Directory>

保存文件并退出.

cd /var/www/cgi-bin/vqadmin

chown nobody .htaccess

chmod 600 .htaccess

# 创建一个管理帐号及密码

htpasswd -bc /etc/httpd/conf/vqadmin.passwd admin(帐号) adminpass(密码)

chown nobody.nobody /etc/httpd/conf/vqadmin.passwd

chmod 644 /etc/httpd/conf/vqadmin.passwd

chown -R vpopmail.vchkpw /var/www/cgi-bin

#编辑.htaccess

vi .htaccess

AuthType Basic

AuthUserFile /etc/httpd/conf/vqadmin.passwd

AuthName vQadmin

require valid-user

satisfy any

service httpd restart

在你的浏览器上测试一下安装结果:

http://www.domain.com/cgi-bin/vqadmin/vqadmin.cgi

--------------------------------------------------------------------------------

SpamAssassin

安装 SpamAssassin

Spam是一个让人讨厌的字眼. 大部分的人都不喜欢它. 如果你想保护自己免受spam, 你就需要安装SpamAssassin.

安装SpamAssassin 要用到Time-HiRes、Digest-SHA1、HTML-Parser和HTML-Tagset. 如果你没有安装的话,必须首先安装它,此文件均在RHAS3安装光盘第二和第三张中。对应的软件包为

perl-Time-HiRes-1.38-3.i386.rpm

perl-Digest-SHA1-2.01-15.1.i386.rpm

perl-HTML-Parser-3.26-17.i386.rpm

perl-HTML-Tagset-3.03-28.noarch.rpm

转载于:https://blog.51cto.com/wjpingok/1737201

在Linux下安装邮件服务器Qmail(一)相关推荐

  1. linux 邮件服务器pop3,linux下的邮件服务器

    既然总结了windows下的邮件服务器,那么linux下的邮件服务器也一起总结一下. 在中职技能比赛中邮件服务器不管是linux和windows原理都是一样,只不过实现的方式有所区别,windows2 ...

  2. Linux下架设邮件服务器全攻略(二)

    Linux下架设邮件服务器全攻略(二) (三)sendmail.cf难以配置,Sendmail的开发人员为sendmail的管理者提供了更加容易理解和配置的sendmail.mc文件. 一般情况下,要 ...

  3. Linux下安装Oracle11g服务器

    Linux下安装Oracle11g服务器 安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系 ...

  4. Linux 下安装 wowza 服务器

    Windows 下的 wowza 服务器安装很简单,下载到 WowzaStreamingEngine-4.0.3.exe 安装包之后,输入 license 然后一路 next 即可,安装成功之后,wo ...

  5. linux转mysql_[转] linux下安装mysql服务器

    [转自:http://www.extmail.org/forum/archive/2/0510/563.html] 安装MySQL服务器 你可以根据服务器的CPU类型,下载适合你所用CPU和操作系统的 ...

  6. Linux下安装Oracle11g服务器(centos7下)

    安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 ...

  7. linux 下安装ftp服务器

    最后重启    # service vsftpd restart 1.查看是否安装vsftp rpm -qa | grep ftp 如果出现    vsftpd-2.0.5-16.el5_5.1  说 ...

  8. Linux下安装ftp服务器异常,linux下安装ftp服务器

    大部分内容来自网络. 1.安装 能下载到安装包的话还是用安装包来安装吧.我没有用安装包,结果用户权限配置上各种出问题.现在虽然安装好了,但是管理配置绝对不是最佳的.慢慢摸 索着来吧. 我是使用这句命令 ...

  9. linux下安装ftp服务器

    大部分内容来自网络. 1.安装 能下载到安装包的话还是用安装包来安装吧.我没有用安装包,结果用户权限配置上各种出问题.现在虽然安装好了,但是管理配置绝对不是最佳的.慢慢摸 索着来吧. 我是使用这句命令 ...

最新文章

  1. 上传文件大小的配置Webcong
  2. 大话IT职场之办公室环境重要吗?
  3. 关于公司内部域名称是否要和外部真实域名称对应的问题
  4. 把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?
  5. 如何在三年内快速成长为一名技术专家
  6. 分享:session定义使用和丢失问题小结
  7. Python:实现图片裁剪的两种方式——Pillow和OpenCV
  8. 求周期字符串的最小子串
  9. SpringBoot-Mail 发邮件(单发、群发、加附件、HTML格式)
  10. 如何实现一个连接池?
  11. 入门微信小程序[第六篇]微信小程序 -- 大樱桃的安排
  12. Windows 2000活动目录详解之基础篇
  13. 电脑桌面便签_电脑桌面便签软件哪个好
  14. NPP/VIIRS逐月夜间灯光数据(2012-2020年)
  15. php读取excel文件_如何用PHP读取excel文件内容、获取单元格数据
  16. 系统架构的演变过程?
  17. 解决windows下文件名太长无法删除的问题
  18. 小米MAX开发者选项 以及如何连接MAC开发RN
  19. 基于java的商城后台管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  20. 无法解析大于号和小于号

热门文章

  1. 企业为什么要舆情监测?
  2. MFC开发之设置菜单项为不可用(ListControl右键菜单其中某项不可用)
  3. 啥是云主机,云主机是啥样的?
  4. java jms例子_JMS 教程 学习笔记 (九)JMS 样例代码
  5. 物联网技术周报第 113 期: 结合 Docker 为 Raspberry Pi 构建 .NET Core 应用程序
  6. 2020年的互联网创业:与其到处碰风口,不如耐心挖存量
  7. C语言实现基于easyx的(低配版)黄金矿工游戏
  8. Uboot1.1.16源代码完全注释笔记
  9. 【CF 应用开发大赛】瑞文代码推土机
  10. 程序员真是个赚钱的行业?北漂3年的Java开发,那是真的惨