时间: 2011-06-15 / 分类: WEB后端编程 - 开发与实践 / 浏览次数: / 28 个评论 发表评论
Ubuntu上qmail+vpopmail+mysql邮件服务器的安装配置详细步骤
黄金分割与摄影构图
项目前端开发的架构
CSS Hack浏览器兼容IE6+IE7+IE8+IE9+FF
12条经典摄影技巧

最近需要安装一个邮件服务器,很久之前在Redhat上配置和使用过Postfix,用了非常长的一段时间,运行的还是相当稳定的,反正这次比较了Postfix和qmail之后,决定选择用qmail来安装。

前言

sudo apt-get build-dep

先运行这句,下载编译需要的所有库,基本上所有需要编译的库都全了!
介绍下构成qmail最基本的软件:
netqmail:
这个东西很好,是qmail的主程序,很小,但功能相当强劲,适合大型邮件服务器的架设,smtpd-auth补丁,准确说是smtp协议的补丁,可以使smtpd服务不被滥用
:
认证程序是一个qmail-smtpd-auth的插件, 认证用的.
:
在这里的作用是监听25端口,与qmail配合,相当优秀的软件,主要是代替xinetd这类的网络守护进程,官方唯一认可的.
daemontools:
这主要是监听qmail的进程,(当然也可以监听其他程序进程)同一作者(ucspi-tcp),所以和qmail配合的很好,可以保证监听的进程,永远有效,因为它监听进程,如果有进程没有运行,就会自动启动,可以说,你kill都kill不掉,这样的特性是相当重要的,大大提高服务的稳定性和可用性, 有些qmail的教程没有这个,主要是这个初次接触配置起来比较麻烦点,但自己觉得必须要有!(主要通过监听目录/service下配置的脚本来实现的,qmail配置时候会把脚本进程连接到这个目录下)
:
邮件的仓库,可以说是qmail的黄金搭档,可以和qmail很好的配合,支持多种邮箱格式和多个虚拟域,和mysql等数据库配合,功能强大
:
因为邮件服务一般都会有很多用户,或是员工,所以使用mysql可以更好管理,最主要的是可以扩展到web管理用户与邮件队列.
需要注意的是: email的收发是需要域名的,所以必须要有自己的域名才行。

ucspi-tcp安装

安装前配置
官方下载或下载附件中软件
最新版本是ucspi-tcp-0.88.tar.gz

将源码包cp到/usr/local/src中,方便编译安装
解压源码包

cd /usr/local/src
sudo tar -zxvf netqmail-1.06.tar.gz
sudo tar -zxvf ucspi-tcp-0.88.tar.gz
cd /usr/local/src/ucspi-tcp-0.88
sudo patch < /usr/local/src/netqmail-1.06/other-patches/ucspi-tcp-0.88.errno.patch

patch命令是为了打补丁,补丁在netqmail-1.06中,必须打

sudo make
sudo make setup check

如果没有出错,编译完成。

qmail安装

qmail源码编译安装:
官方网站地址:http://cr.yp.to/software.html 可以在官方下载,也可以下载附件
最新版本是netqmail-1.06版

创建目录:

sudo mkdir -p /var/qmail/alias

创建用户与组:

sudo groupadd nofiles
sudo useradd alias -g nofiles -d /var/qmail/alias -s /sbin/nologin
sudo useradd qmaild -g nofiles -d /var/qmail -s /sbin/nologin
sudo useradd qmaill -g nofiles -d /var/qmail -s /sbin/nologin
sudo useradd qmailp -g nofiles -d /var/qmail -s /sbin/nologin
sudo groupadd qmail
sudo useradd qmailq -g qmail -d /var/qmail -s /sbin/nologin
sudo useradd qmailr -g qmail -d /var/qmail -s /sbin/nologin
sudo useradd qmails -g qmail -d /var/qmail -s /sbin/nologin

上边这些用户和组都是必须创建的

编译:

cd /usr/local/src/netqmail-1.06
sudo make setup check
sudo ./config-fast mail.amiku.cn

mail.amiku.cn这是我的测试邮件服务器的域名, 需要换成对应的@后面的后缀,如果都无错误输出,编译就成功了。

安装后的环境配置
创建服务启动脚本(即script目录的脚本):

sudo mkdir -p /var/qmail/supervise/qmail-send/log
sudo mkdir -p /var/qmail/supervise/qmail-smtpd/log
sudo mkdir -p /var/qmail/supervise/qmail-pop3d/log
sudo mkdir -p /var/qmail/supervise/qmail-pop3ds/log

创建defaultdelivery文件,并写入邮箱格式./Maildir/

sudo vim /var/qmail/control/defaultdelivery

./Maildir/

解压下载的script包,到/usr/local/src下,复制并改名脚本文件

sudo cp send.run /var/qmail/supervise/qmail-send/run
sudo cp send.log.run /var/qmail/supervise/qmail-send/log/run
sudo cp smtpd.run /var/qmail/supervise/qmail-smtpd/run
sudo cp smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
sudo cp pop3d.run /var/qmail/supervise/qmail-pop3d/run
sudo cp pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
sudo cp pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
sudo cp pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
sudo cp concurrencyincoming /var/qmail/control/
sudo chmod 644 /var/qmail/control/concurrencyincoming
sudo cp rc /var/qmail
sudo cp qmailctl /var/qmail/bin
sudo cp vpopmailctl /var/qmail/bin
sudo ln -s /var/qmail/bin/qmailctl /usr/bin                   //控制发送
sudo ln -s /var/qmail/bin/vpopmailctl /usr/bin                //控制邮箱
sudo ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
sudo ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

这些脚本主要是为配置daemontools工具,必须注意,把脚本都设置为755权限

sudo chmod 755 /var/qmail/supervise/qmail-send/run
sudo chmod 755 /var/qmail/supervise/qmail-send/log/run
sudo chmod 755 /var/qmail/supervise/qmail-smtpd/run
sudo chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
sudo chmod 755 /var/qmail/supervise/qmail-pop3d/run
sudo chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
sudo chmod 755 /var/qmail/supervise/qmail-pop3ds/run
sudo chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run
sudo chmod 755 /var/qmail/rc
sudo chmod 755 /var/qmail/bin/qmailctl
sudo chmod 755 /var/qmail/bin/vpopmailctl
sudo chmod 755 /var/qmail/bin/sendmail

创建别名,很必要,创建后就可以给知名的站点发信,换成你的域名,比如sina,qq,163,等

cd /var/qmail/alias
sudo vim .qmail-postmaster

写入: []admin@mail.amiku.cn[/]

sudo vim   .qmail-mailer-daemon

写入:[email]admin@mail.amiku.cn[/email]

sudo vim   .qmail-root

写入:[email]admin@mail.amiku.cn[/email]

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

服务脚本需要注意的是:/var/qmail/supervise/qmail-pop3ds中run和qmail-pop3d/run中,有个用‘’号括起来的‘hostname’请替换成你的域名(如我的是:mail.amiku.cn),注意:~~~~一定要把‘’去掉,不然没办法登录pop3邮箱。

创建日志文件目录:

sudo mkdir -p /var/log/qmail/smtpd
sudo mkdir -p /var/log/qmail/pop3d
sudo mkdir -p /var/log/qmail/pop3ds
sudo chown -R qmaill /var/log/qmail

最后查看下一些进程的属主是否正确(/var/qmail/bin)

cd /var/qmail/bin
ls -l

qmails  —对应    qmail-send文件
qmailq  —对应    qmail-clean文件
qmailr  —        qmail-rspawn文件
root    —        qmail-lspawn文件
一般安装不会这样对应好,都需要修改,不修改也能跑,不过自己感觉慢
如果不对应就用

sudo chown qmails.qmail qmail-send
sudo chown qmailq.qmail qmail-clean
sudo chown qmailr.qmail qmail-rspawn

这种方式修改。
qmail的配置基本完成,现在无法运行,需要配置daemontools软件

daemontools安装

daemontools与ucspi-tcp同为一个作者所写
官方最新版本为daemontools-0.76,官方下载或是在附件中下载

建立/package目录,这里是特定的目录

sudo mkdir /package
sudo chmod 1775 /package

将源码包daemontools-0.76.tar.gz复制cp到/package目录中方便编译安装
解压缩

cd /package
sudo tar -zxvf daemontools-0.76.tar.gz
cd /package/admin/daemontools-0.76/src
sudo patch < /usr/local/src/netqmail-1.06/other-patches/daemontools-0.76.errno.patch

使用patch命令打补丁,补丁在/netqmail-1.06中,必须打,不然编译不成功

cd /package/admin/daemontools-0.76/
sudo package/install

如果无错,编译成功。

编译后配置
daemontools编译后会自动创建/service目录,所有这个目录下的文件都会被daemontools监视运行
这时候需要把/var/qmail/supervise目录文件连接到/service就可以监视运行qmail进程
使用命令:

sudo ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
sudo ln -s /var/qmail/supervise/qmail-pop3d /var/qmail/supervise/qmail-pop3ds /service

如果这时候,daemontools正在运行,就会自动启动qmail进程,并监视运行,具体会启动qmail-send,smtp, pop3d, pop3ds(记得修改run中的域名)
系统启动自动运行:
daemontools安装后,会改变/etc/rc.local文件的权限,使rc.local无法运行
使用命令:

sudo chmod u+x /etc/rc.local

加上x权限就可以运行了
在/etc/rc.local中最后一句前加上,一定要在exit 0 前
/command/svscanboot &
脚本后边加 & 后代表后台运行脚本。
重新启动系统,就会自动运行daemontools监视qmail进程运行

可以使用ps ax | grep qmail 查看进程

如果要停止qmail,可以使用命令:

sudo qmailctl stop

查看状态:

sudo qmailctl stat

如果正常,就会看到类似已经运行多少多少秒的消息

/service/qmail-send: up (pid 1125) 31 seconds
/service/qmail-send/log: up (pid 1128) 31 seconds
/service/qmail-smtpd: up (pid 1126) 31 seconds
/service/qmail-smtpd/log: up (pid 1124) 31 seconds
messages in queue: 0
messages in queue but not yet preprocessed: 0

重新启动:

sudo qmailctl restart

OK,到这里,我们的邮件服务器基本算架设起来了,但是需要更多的功能和调整。

命令行下的mysql配置

主要是为了配合vpopmail,mysql的安装使用的是源中的文件,更加的方便,也是为了配合一开始就安装lmap的用户

安装mysql:

sudo apt-get install mysql-server

安装时候会要求输入root用户的密码,输入2次

vpopmail编译前mysql环境配置,在们先配置mysql环境给vpopmail做铺垫。

源的安装没有/include/mysql.h文件,而这是必须的,所以需要安装文件

sudo apt-get install libmysqlclient15-dev

安装完成后会在/usr/include/mysql中找到mysql.h文件
这会在编译vpopmail时候需要用到

这里给出vpopmail编译时,需要的mysql路径
–enable-incdir=/usr/include/mysql
–enable-libdir=/var/lib/mysql

创建数据库:
使用命令进入mysql命令行:

mysql -u root -p

密码
mysql> 登陆后显示几行文字,与mysql>这样的前缀提示
输入命令创建vpopmail数据库

create database vpopmail;

成功会有提示,注意命令必须以;号结尾

创建用户并设置权限:

grant all ON vpopmail.* TO vpopmail@localhost IDENTIFIED BY “你的密码”;

这样就创建了vpopmail用户与密码,并给于vpopmail库的所有权限

如果你使用的是phpmyadmin的话,那这两步会相当简单。

到这里mysql的设置基本就算完成了
最后测试下vpopmail用户是否可以登录muysql

mysql -u vpopmail -p

如果可以登录,说明配置完成

vpopmail安装

vpopmail的最新稳定版本是vpopmail-5.4.32.tar.gz
下载附件中的源码包

将源码包cp到/usr/local/src 中方便编译安装

编译前环境配置:
创建组与用户

sudo groupadd vchkpw
sudo useradd -g vchkpw -s /sbin/nologin vpopmail

创建程序主目录

sudo mkdir /home/vpopmail
sudo mkdir /home/vpopmail/etc

创建转发规则

cd /home/vpopmail/etc
sudo touch tcp.smtp
sudo vim tcp.smtp

#在tcp.smtp中加入规则,
127.0.0.1:allow,RELAYCLIENT=””
:allow
#上边的意思,只允许转发本机地址与所有的地址转发信件,后边有验证程序,不用担心被滥用服务!

sudo tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

#转换成可以识别的cdb格式,以后修改后,都要转换
#修改etc的所有者与组

sudo chown vpopmail.vchkpw /home/vpopmail/etc

编译vpopmail:

cd /usr/local/src/
sudo tar -zxvf vpopmail-5.4.32.tar.gz
cd vpopmail-5.4.32/

编译前需要指定参数

sudo ./configure –enable-auth-module=mysql –enable-incdir=/usr/include/mysql –enable-libdir=/var/lib/mysql -enable-logging=v –disable-passwd –disable-ip-alias-domains –enable-auth-logging –enable-sql-logging –disable-mysql-limits –disable-many-domains –enable-learn-passwords –enable-file-sync –enable-domainquotas –enable-vpopuser=vpopmail –enable-vpopgroup=vchkpw –enable-many-domains

注意,如果想使用webmail的话,比如igenus,最后一个配置不能少(–enable-many-domains,意思是把所有域写在一个表中)

完成后生成类似下边的配置列表:
vpopmail directory = /home/vpopmail
domains directory = /home/vpopmail/domains
uid = 1009
gid = 1004
roaming users = OFF –disable-roaming-users (default)
password learning = ON  –enable-learn-passwords
md5 passwords = ON  –enable-md5-passwords (default)
file locking = ON  –enable-file-locking (default)
vdelivermail fsync = ON  –enable-file-sync
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)
onchange script = OFF –disable-onchange-script (default)
domain quotas = ON  –enable-domainquotas

*** Domain quotas should only be enabled ***
*** when using the vpopmail usage daemon ***

auth module = mysql –enable-auth-module=mysql
mysql replication = OFF –disable-mysql-replication (default)
sql logging = ON  –enable-sql-logging
mysql limits = ON  –enable-mysql-limits
SQL valias table = ON  –enable-valias
auth inc = -I/usr/include/mysql
auth lib = -Xlinker -R -Xlinker /var/lib/mysql -L/var/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
spamassassin = OFF –disable-spamassassin (default)
maildrop = OFF –disable-maildrop (default)

如果参数配置成功,会给你列出所有的选项供给确认,如果觉得好了,就可以进入安装

sudo make
sudo make install-strip

安装后配置环境配置:
完成以后,需要和数据库mysql打交道,前边已经在mysql中设置过了,现在连接
在/home/vpopmail/etc下可以找到一个.mysql结尾的文件vpopmail.mysql

sudo vim /home/vpopmail/etc/vpopmail.mysql

#修改为这样的配置
localhost|0|用户|密码|vpopmail
设置正确的话可以试试来创建下虚拟域与邮件帐号

cd /home/vpopmail/bin
sudo ./vadddomain 域名 密码

如:

sudo ./vadddomain mail.amiku.cn iamtesting

#这密码是用来管理域用的

sudo ./vadduser 用户名 密码

#邮件用户与密码,使用全名,如:admin@mail.amiku.cn 123456
如果没有错误输出变成功了,说明vpopmail与mysql互动正确,home/vpopmail/etc下有许多配置文件,都是用来配置邮件仓库的,具体的可以找资料看下,vpopmail基本就算完成了。

测试收发邮件:

通过前边的一系列安装配置,基本已经完成,测试可以在在winxp下,使用foxmail或者outlook测试的,也可以直接telnet上去看是否成功,首先了解一些邮件协议的基本概念。

SMTP (Simple Mail Transfer Protocol); 电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的传输协议。SMTP 是请求/响应协议,命令和响应都是基于 ASCII 文本,并以 CR 和 LF 符结束。响应包括一个表示返回状态的三位数字代码。SMTP 在 TCP 协议 25 端口监听连接请求。
什么是 ESMTP
ESMTP (Extended SMTP),顾名思义,扩展 SMTP 就是对标准 SMTP 协议进行的扩展。它与 SMTP 服务的区别仅仅是,使用 SMTP 发信不需要验证用户帐户,而用 ESMTP 发信时, 服务器会要求用户提供用户名和密码以便验证身份。验证之后的邮件发送过程与 SMTP 方式没有两样。
SMTP 命令
SMTP 命令包括:
HELO 向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。
EHLO 向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。
MAIL FROM 命令中指定的地址是发件人地址
RCPT TO 标识单个的邮件接收人;可有多个 RCPT TO;常在 MAIL 命令后面。
DATA 在单个或多个 RCPT 命令后,表示所有的邮件接收人已标识,并初始化数据传输,以 CRLF.CRLF 结束.
VRFY 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令.
EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用
HELP 查询服务器支持什么命令
NOOP 无操作,服务器应响应 OK
RSET 重置会话,当前传输被取消
QUIT 结束会话
会话过程如下:
telnet 127.0.0.1 25 ————————————— 使用 telnet 命令连接
Trying 127.0.0.1… ————————————— 正在连接服务器 25 端口
Connected to 127.0.0.1. ———————————– 连接服务器 25 端口成功
220 Winmail Mail Server ESMTP ready ————————- 显示服务器的标识名称 (Winmail 管理工具->高级设置->系统参数->基本参数中可更改)
helo mail.amiku.cn ———————————————— 向服务器标识用户身份,发信不要认证,跳过下面几步直接发送 mail from 命令
250 Winmail Mail Server
ehlo mail.amiku.cn ———————————————— ESMTP 命令,发信需要认证。
250-Winmail Mail Server
250-PIPELINING
250-AUTH=LOGIN PLAIN
250-AUTH LOGIN PLAIN
250-SIZE 20480000
250 8BITMIME
auth login ————————————————- 进行用户身份认证
334 VXNlcm5hbWU6
Y29zdGFAYW1heGl0Lm5ldA== ———————————– BASE64 加密后的用户名
334 UGFzc3dvcmQ6
MTk4MjIxNA== ———————————————– BASE64 加密后的密码
235 auth successfully ————————————– 身份认证成功
(535 auth failure —————————————— 身份认证失败)
发到本系统中域名下的账户可跳过身份认证。
mail from: <test1@mail.amiku.cn> —————————— mail from 地址 test1@mail.amiku.cn
250 ok —————————————————– 命令执行成功
rcpt to: <test2@mail.amiku.cn> ——————————– 递送给地址 test2@mail.amiku.cn
250 ok —————————————————– 命令执行成功
data ——————————————————- 数据传输初始化
354 go ahead ———————————————– 开始传输数据
From: test1@mail.amiku.cn
To: test2@mail.amiku.cn
Date: Mon, 25 Oct 2004 14:24:27 +0800
Subject: test mail

Hi, test2
This is a test mail, you don’t reply it.

.
———————————————————— 数据内容,包括BASE64加密后的邮件内容, 以 CRLF.CRLF 结束数据传输
250 ok message accepted for delivery ———————– 命令执行成功
quit ——————————————————- 结束会话
221  Winmail Mail Server
Connection closed by foreign host .————————- 断开连接

邮箱查看测试(用telnet登陆pop3),会话过程如下:
telnet 127.0.0.1 110 ————————————— 使用 telnet 命令连接
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
+OK 25664.1274149711@mail.amiku.cn
user test1@mail.amiku.cn ————————————–登陆用户名.例如: test1@mail.amiku.cn
+OK
pass password———————————-用户密码
+OK
stat —————————————-收件箱中邮件数量,以及所有邮件占用的字节数
+OK 2 10245
list—————————————————-收件箱列表
+OK
1 889
2 9356
.
retr msg#——————————————查看收件箱中的信息例如:retr 1
+OK
……
dele msg#——————————————删除当前用户收件箱中信息号对应的邮件.
+OK
rset ————————————————————重置会话
+OK
quit————————————————————退出telnet
+OK
Connection closed by foreign host.

用Foxmail设置的话,第一次打开会要求输入帐户,如果你在vpopmail下有设置邮件帐户的话,就使用它了
如:admin@mail.amiku.cn
密码就输入帐户的密码,进入下一步,这是邮件服务器的地址smtp与pop3
如果你的是mail.amiku.cn的话,就直接输入,也可以使用ip地址,但最好用域名测试
完成后,下一步,点下“测试“
成功的测试后,就可以点”收取“看是否能接到smtp的测试信件,如果成功取到,收信就无问题,也可以用外网的邮箱测试。
发送下测试吧,如果没有收到,可以查看下服务器的 邮件列表
sudo qmailctl stat这个命令可以查看进程运行与邮件队列情况,最后两个就是关于队列的
sudo qmailctl 这个可以查看所有可用的命令,如启动,重启动,或者是刷新邮件队列(人工强制发送队列信件)

配置smptd-auth验证

smtpd-auth.patch是smtp的验证补丁,为了防止不验证的smtp连接,防止被人恶意滥用smtp服务
这里需要的是两个包,smtpd-auth.patch与cmd5checkpw-0.22.tar.gz
在这里把认证发到最后是因为,它只能在安装qmail后在去设置,如果在安装qmail的时候打补丁,会发现配置好的服务,根本没办法用

如果大家使用foxmail在前边的测试一切良好的话,那么接下来我们开始完善qmail.

希望大家都把源文件包cp到/usr/local/src下,然后解压编译安装

其实就是给qmail打补丁,照着做就好了(需要先把前边编译的netqmail删除掉,重新解压netqmail-1.06)

cd /usr/local/src
sudo rm -R netqmail-1.06
sudo tar -zxvf netqmail-1.06.tar.gz
cd netqmail-1.06

这里需要注意,这个补丁必须要root用户编译,sudo 提示权限不够,要切换到root用户必须要先给root设置密码

sudo passwd root   #给root用户设定密码,按提示输入2次密码
su root
patch  < /usr/local/src/smtpd-auth.patch
make qmail-smtpd

编译过程中可能会出错,因为没有安装openssl,与libssl-dev

apt-get install openssl libssl-dev

重新使用编译命令,编译qmail-smtpd

无错完成后,删除/var/qmail/bin中的qmail-smtpd文件,然后把编译后的qmail-smtpd复制过去
删除前请先把服务关闭

sudo qmailctl stop
sudo rm /var/qmail/bin/qmail-smtpd
cp qmail-smtpd /var/qmail/bin

  :
cmd5checkpw-0.22.tar.gz
cmd5checkpw认证程序是一个qmail的插件
支持SMTP AUTH协议
安装cmd5checkpw
把源文件包cp到/usr/local/src下,然后解压编译安装

sudo tar -zxvf cmd5checkpw-0.22.tar.gz
cd cmd5checkpw-0.22
sudo make
sudo mkdir /usr/man
sudo mkdir /usr/man/man8
sudo make install

最后修改/var/qmail/supervise/qmail-smtpd/run脚本为

#!/bin/sh
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
exec /usr/local/bin/softlimit -m 8000000 \
/usr/local/bin/tcpserver -v -H -R -l 0 \
-x /home/vpopmail/etc/tcp.smtp.cdb -c “$MAXSMTPD” \
-u “$QMAILDUID” -g “$NOFILESGID” 0 smtp \
/var/qmail/bin/qmail-smtpd mail.amiku.cn \
/home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1

把mail.amiku.cn更该为你的域名

好了,重新启动qmailctl start
现在就可以测试下你设置的认证程序了
在foxmail中随便的建立一个帐号,记住是随便,一定要是没在vpopmail中建立过的用户,
但pop,smtp服务器地址一定要对!然后实验用它发信,如果被阻止,就说明验证成功了!
然后在使用正确的帐号发信,正确的话发信是没有问题的!

优化Qmail性能

这个是新加入的基本安装包。

因为qmail输入不管能不能送到目的,它都先背身上的家伙,所以很容易在队列中驻留。
需要很长一段时间才会过期,这样不利于性能,所以添加可以清楚队列的软件包。

因为下载的是deb格式的,所以安装很方便

sudo dpkg -i qmail-remove_0.95-1_i386.deb

这样就OK了。

如果想清除队列的信件,直接使用命令:

sudo qmail-remove -r

就行了
qmail-remove 可以查看具体的命令,就不多介绍了。

安装qmail前注意事项:
1: 如果在foxmail或其他软件中,收信正常,发信有错误,请把/var/qmail/supervise/qmail-smtpd/run中添加的域名去掉,然后把/home/vpopmail/etc/tcp.smtp.cdb所有者与组修改为vpopmail.vchkpw即可
2: 教程中关于vpopmail的少写了一句,现在添上,缺少会出现在foxmail中无法仅使用名称,而要使用全称才能取信的功能,具体错误就是在测试帐户时其他选项都通过,就是在登陆pop3服务器上出错!
cd /home/vpopmail/etc/
# sudo vim defaultdomain
mail.amiku.cn (写入你的域名)
3: 关于qmail-pop3d/run与qmail-pop3ds/run中填写域名的问题,在run中会有’hostname’,需要写入自己的域名,这时候填写应该把‘’也去掉,
如’hostname’改为mail.amiku.cn, 不然会出现类似/home/Maildir之类的错误,特别提醒下!
4: 如果遇到foxmail中给外网发信,The server reply: 553 sorry,that domain isn’t in my list of allowed rcpthosts错误,需要修改/var/qmail/control/rcpthosts文件,比如需要给QQ的信箱发信,就加入qq.com,给hotmail发信,就另换一行写入hotmail.com
5: 这个是补充,没有确认是否会出问题,但加编译安装时候加入没有坏处,编译vpopmail时候,除了教程中的参数外,在加上这两个参数
–enable-vpopuser=vpopmail
–enable-vpopgroup=vchkpw

附件下载:qmail.tar

本篇主要内容引用:http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=148064,根据环境的实际情况和出错的地方做了一些改编,在本机Ubuntu11.04上测试成功,非常好用,记录备查。

  站点地图 | 关于我 | 返回顶部
Copyright © 2001-2013 { amiku.cn | zhangshunjin.com }. Powered by 

阿米酷

张顺金


浙ICP备11002820号-1