当前位置: 首页 > 工具软件 > qmail > 使用案例 >

搭建Qmail邮件系统(中篇)

苏运良
2023-12-01

继上篇文章《搭建Qmail邮件系统(环境篇)》之后,还得继续安装邮件系统,下面才算是开始安装邮件系统,之前的全是为现在做铺垫呢

也不知道在接下来的操作过程中会出现什么样的状况

那就晒一把吧,呵呵呵

 

一 创建用户和组

操作这一步之前,大家需要了解的一点是:

Qmail有一项安全措施-------五个不同权限信任级别区隔运行(指利用五个分隔的uid运行qmail的不同功能模块)

uid和gid自己随意设置,只是不要与其他冲突就行

添加用户alias qmaill qmaild  qmailp 属于nofiles组,添加用户qmailq  qmailr qmails属于qmail组

pw groupadd -n nofiles -g 81
pw groupadd -n qmail -g 82
pw useradd -n alias -u 81 -g 81 -d /var/qmail/alias -s /nonexistent
pw useradd -n qmaild -u 82 -g 81 -d /var/qmail -s /nonexistent
pw useradd -n qmaill -u 83 -g 81 -d /var/qmail -s /nonexistent
pw useradd -n qmailp -u 84 -g 81 -d /var/qmail -s /nonexistent
pw useradd -n qmailq -u 85 -g 82 -d /var/qmail -s /nonexistent
pw useradd -n qmailr -u 86 -g 82 -d /var/qmail -s /nonexistent
pw useradd -n qmails -u 87 -g 82 -d /var/qmail -s /nonexistent

 

添加完之后,最后检查一下

# id qmaill

# id qmaild

# id alias
# id qmaill
# id qmailp
# id qmailq

# id qmailr
# id qmails

# pw groupshow qmail
# pw groupshow nofiles
二  创建目录

qmail安装程序会自行创建需要的子目录你只需要创建qmail"home"目录.

 

创建qmailhome目录

/var/qmail

 

创建日志目录

/var/log/qmail 
/var/log/qmail /qmail-send
/var/log/qmail /qmail-smtpd
/var/log/qmail /qmail-pop3d
/var/log/qmail /qmail-imapd

 

为 qmail 的服务创建 supervise 目录

/var/qmail/supervise
/var/qmail/supervise/qmail-smtpd          t权限】
/var/qmail/supervise/qmail-smtpd /log
/var/qmail/supervise/qmail-send             t权限】
/var/qmail/supervise/qmail-send/log
/var/qmail/supervise/qmail-pop3d            t权限】
/var/qmail/supervise/qmail-pop3d/log
/var/qmail/supervise/qmail-imapd               t权限】
/var/qmail/supervise/qmail-imapd/log
/var/qmail/supervise/qmail-monitor

 

三 安装vpopmail

 

1)添加用户vpopmail 属于vchkpw组

pw groupadd -n vchkpw -g 88
pw useradd -n vpopmail -u 88 -g 88 -c Vpopmail-Master -d /home/vpopmail -s /nonexistent

 

2)创建~vpopmail/etc/tcp.smtp文件
然后将下列行写入上述文件:

 

127.0.0.1:allow,RELAYCLIENT=""
 :allow

 

上述设置的意思是:

允许来自本地的连接进行转发,因为邮件服务器运行在本机上

 

至于tcp.smtp这个文件的规则设置在这里不做详解,将另行讨论

 

3)安装 Vpopmail 5.4.20

 

# tar zxf vpopmail-showuserquota-nodomain.tar.gz

# cd vpopmail
#./configure
#make
#make install-strip

 

注:若希望支持漫游用户通过邮件服务器的转发邮件(mail relay),则需要使用如下配置选项: 
./configure --enable-roaming-users=y

4)设置crontab,运行:

# crontab -e

添加如下内容

30 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 >/dev/null

 

四 安装 qmail-1.03

 

安装有smtp认证的qmail

 

tar zxf 。。。

cd qmail

make steup check

./config-fast  完整主机名

#举例:   ./config-fast  mx50.dns.com.cn

注意: 一般不直接使用 ./config,而是用config-fast脚本
(这个原因一般来说是由于config在dns反查主机IP对应的规范的主机名时候没有记录或者出错造成的. 现代商业dns一般都不提供IP反查. 所以安装过程可能更多机会是直接使用config-fast 脚本, 而不是config 脚本. 如果你的域名是example.com, 你的计算机的主机名是dlphin, 你的config-fast 命令行应该这样写: ./config-fast dolphin.example.com


qmail现在已经安装到你的系统内, 并且准备运行了! 之后将要介绍运行和测试qmail

 

五 安装限发(主要是限制用户每天往QQ Yahoo Hotmail的发送量)

     这个根据本公司的生产环境需要而定,在这里不做详解

 

六 安装 daemontools 【 一个管理后台服务程序以及日志的工具套件】

 

mkdir -p /package
chmod 1755 /package
cp  daemontools-0.76.tar.gz /package
cd /package
tar zxf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
package/install

 

 

注:daemontools包括以下部分

  • superivse, 监视服务并在服务停止后重新启动之.
  • svc, 用来要求supervise 停止, 暂停, 或者重启动服务器.
  • multilog, 维护服务的日志, 可以自动回转记录以保持低于配置大小.
  • seruidgid, 使用普通用户的UID和GID为超级用户运行程序.

七 安装ucspi-tcp

 

# tar zxf ucspi-tcp-0.88-last.tar.gz

# cd ucspi-tcp-0.88

# make

# make setup check

 

 

注:ucspi-tcp是UNIX Client-Server Program Interface for TCP的缩写 即:UNIX客户端程序TCP接口

      qmail的SMTP服务器并不是按照一个独立的后台服务程序运行的, 必须依靠例如 inetd, xinetd 或者 tcpserver 这些助手程

      序运行.  当这些助手程序接受一个到达25端口, SMTP端口, 的TCP连接之后, 将执行一个qmail-smtpd的副本

tcpserver 优于 inetd的几条原因:

  • tcpserver 允许限制并行访问服务的数量. inetd使用连接率限制机制在"太忙"情况下阻断服务.
  • tcpserver 可以被配置为拒绝某些主机连接或者认可并标志本地主机, 使qmail-smtpd 可以分别对待.
  • tcpserver 是唯一的qmail 作者认可的服务器.

八 安装libcdb库

 

tar -zxvf cdb-0.75.tar.gz
cd cdb-0.75
make
make setup check

 

 

九  安装bincimap

 

tar -zxf bincimap-1.3.4-last.tar.gz
cd bincimap-1.3.4
./configure
make
make install

 

 

十 安装qmailanalog

 

tar zxf qmailanalog-0.70.tar.gz
cd qmailanalog-0.70
make
make setup check

 

十一  安装autorespond

 

tar zxf autorespond-2.0.2-last.tar.gz
cd autorespond-2.0.2
make
make install

 

十二   禁用sendmail

 

mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

 

 

十三 添加 supervise脚本

 

 /var/qmail/supervise/qmail-pop3d/run 文件

#!/bin/sh

exec /usr/local/bin/tcpserver -H -R -v -c100 0 110 /var/qmail/bin/qmail-popup server.domain.com

/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1

 

 

/var/qmail/supervise/qmail-smtpd/run 文件

#!/bin/sh

exec /usr/local/bin/tcpserver -h -p -R -x /etc/tcp.smtp.cdb -u88 -g88 -v -c500 0 smtp /usr/local/bin/rblsmtpd -a rwl.dns.com.cn -r cblless.anti-spam.org.cn /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /usr/bin/true 2>&1

 

 

/var/qmail/supervise/qmail-send/run 文件

#!/bin/sh

exec /var/qmail/rc

 

/var/qmail/supervise/qmail-imapd/run 文件

#!/bin/sh

exec 2>&1
/usr/local/bin/tcpserver -H -R -v -c100  -l $(hostname) 0 143 /usr/local/etc/bincimap-config /usr/local/bin/bincimap-up -- /home/vpopmail/bin/vchkpw /usr/local/bin/bincimapd Maildir 

 

/var/qmail/supervise/qmail-monitor/run  文件
#!/bin/sh
exec /var/qmail/bin/qmail-monitor

 

 

十四 安装 queue-fix 1.4 ;qmailmrtg 7.4.2;eps;parse_mail;maildrop

 

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 类似资料: