设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 |
当前位置:首页 >> 网管专栏 >> 邮件服务 >> 正文
最新信息
·JMail(4.3)中文手册
·Foxmail密码丢了如何应急
·Merak 5.94完全上手
·用Foxmail Server搭建邮件…
·WebEasyMail 问题解答大全
·VisNetic MailServer 常见…
·James安装使用简易指南
·Winmail和垃圾邮件过滤
·Winmail和邮件监控
·用Windows 2003配置邮件服…
资料搜索
热点信息
·Winmail和垃圾邮件过滤
·James安装使用简易指南
·WebEasyMail 问题解答大全
·如何解决OUTLOOK2002无法访…
·用Windows 2003配置邮件服…
·Merak 5.94完全上手
·邮件乱码产生的原因与解决…
·Foxmail密码丢了如何应急
·Winmail和邮件监控
·VisNetic MailServer 常见…
推荐信息
·用Cdonts实现发送Email
·基于QMail的完整WEBMAIL解…
·Sendmail的安全解决方案
·Foxmail密码丢了如何应急
·James安装使用简易指南
·Exchange2000系统建设及规…
·sendmail大全
·神奇梦"邮"-DreamMail技巧…
·自己电脑做SMTP服务器不求…
·Jmail的主要参数列表


Google
 
基于QMail的SMTP用户验证设置指南
〖编辑:Cloudy | 浏览:人次〗

现在有许多网友都在做QMail 的SMTP服务的用户验证,看国内的几篇文章总又或多或少地遇到一些问题。

  下面我就总结一下前人文章的问题,并写出我自己做的详细方法。

一、 对前人文章问题的一个总结:

  以下是ideal和taoran两位前辈的文章:

  http://www.linuxaid.com.cn/support/showfom.jsp?i=1703 作者:ideal
  http://www.linuxforum.net/doc/QMail-auth.html 作者:taoran

  需要注意的是,QMail SMTP的用户验证有不止一个补丁,以上两篇文章分别用的是两个补丁。

  分别在:

  http://members.elysium.pl/brush/QMail-SMTPd-auth/ 和
  www.nimh.org/hacks/QMail-SMTPd.c 。
  相对来说,第二个补丁比较简单好用一些。这两个补丁有一个区别就是:第一个需要加主机名(域名),而第二个不要加,加了无法验证,:( 太奇怪了。 按照第一篇ideal的文章来进行配置的话第一个问题,就是你只要在outlook等客户端中选中我的服务器需要验证,就可以继续发送,而不管服务器上是否有这个帐号。请大家来测试一下是不是确实有这个问题,我看说明文档,形成这个问题,原因主要是因为主机名(域名)的问题。具体请看QMail-SMTPd-auth-0.30 的README.auth;第二个问题呢,是两篇文章共有的,就是setuid的问题,请看:

  这是 fatbear朋友的经验,不过要注意是只有vpopmail的vchkpw需要6755。

  以上是我自己的体验,请广大网友都来测试一下。如果有ideal和taoran两位前辈或其它网友知道以上问题出现的真正原因或有不同意见,请告诉我,我的E-mail是:hailwind@china.com,欢迎大家批评指正。

二、 详细安装过程

  以下是我的详细安装过程,如果用的是QMail-SMTPd-auth-0.30,要注意主机名和setuid的问题,如果用QMail-SMTPd.c的话呢,就只要注意setuid的问题就行了。如果你的系统已经安装完了,正在使用中的话那么请看上面的两篇文章,使用./comple ./load的那种方法,此处我没写。

  需要的软件:

   checkpassword-0.90.tar.gz或QMail-SMTPd.c 地址:在本文开头有。
   cmd5checkpw-0.22.tar.gz 地址:http://members.elysium.pl/brush/cmd5checkpw/
   ucspi-tcp-0.88.tar.gz
   QMail-SMTPd-auth-0.30.tar.gz
   QMail-1.03.tar.gz
   vpopmail-4.9.10.tar.gz


  这几个大家都有吧?如果你没有的话呢,就直接把文件名贴到google.com上去,直接搜索就能找得到。
分别安装它们:

  tar zxvf checkpassword-0.90.tar.gz
  cd checkpassword-0.90
  make
  make setup check

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

  tar zxvf ucspi-tcp-0.88.tar.gz
  cd ucspi-tcp-0.88
  make
  make setup check

下面按安装QMail-1.03(打auth补丁) :

  tar zxvf QMail-1.03.tar.gz


  使用第一种补丁:

  tar zxvf QMail-SMTPd-auth-0.30.tar.gz
  cd QMail-SMTPd-auth-0.30
  cp base64.c base64.h README.auth ../QMail-1.03/
  patch -d ../QMail-1.03 < auth.patch

  使用第二种补丁:

  cp QMail-SMTPd.c QMail-1.03/
  覆盖源文件

  下面添加用户

  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

安装和基本配置:


  cd QMail-1.03
  make setup check
  ./config-fast playease.com
  cd ~alias
  touch .QMail-postmaster .QMail-mailer-daemon .QMail-root
  chmod 644 ~alias/.QMail*
  echo "127.0.0.1:allow,RELAYCLIENT=""" > /etc/tcp.SMTP

  下面这一条setuid:
  chmod 4755 /bin/checkpassword
  cp /var/QMail/boot/home /var/QMail/rc
  修改/var/QMail/rc把./Mailbox 改成./Maildir/ 使用Maildir;

  启动QMail:

  csh -cf "/var/QMail/rc &"

  然后启动SMTP服务

  使用第一种补丁:

  tcpserver -H -R -l 0 -t 1 -c 100 -x /etc/tcp.SMTP.cdb -u 507 -g 502 0 SMTP
  /var/QMail/bin/QMail-SMTPd playease.com /bin/checkpassword /bin/true /bin/md5checkpw /bin/true &

  使用第二种补丁:

  把playease.com去掉。

  这样,基于系统用户的SMTP验证就完成了~

然后我们开始做基于vpopmail的:


  groupadd vchkpw
  useradd -g vchkpw -d /vmail vpopmail 我把vpopmail的安装目录设在/vmail中。
  su vpopmail
  mkdir ~vpopmail/etc
  echo "127.0.01.:allow,RELAYCLIENT=""" > ~vpopmail/etc/tcp.SMTP
  ./configure --help
  ./configure --enable-default-domain=playease.com
  make
  make install-strip
  cd ~vpopmail/bin
  ./vadddomain playease.com
  ./vadduser dawn@playease.com

  这样就添加了一个用户

  chmod 6755 /vmail/bin/vchkpw 这样是setuid

  以下是启动SMTP服务:

  使用第一种补丁:

  tcpserver -H -R -l 0 -t 1 -c 100 -x /etc/tcp.SMTP.cdb -u 507 -g 502 0 SMTP
  /var/QMail/bin/QMail-SMTPd playease.com /vmail/bin/vchkpw /bin/true /bin/md5checkpw /bin/true &

  使用第二种补丁:

  把playease.com去掉。

启动pop3服务:

  tcpserver -H -R 0 pop-3 /var/QMail/bin/QMail-popup playease.com /vmail/bin/vchkpw
  /var/QMail/bin/QMail-pop3d Maildir &
  使用mysql等其它模块验证时不影响。 至此大功告成。

三、 要注意的问题:

  1. 在上面的实践中我用playease.com做为例子域名,用dawn作为例子用户名,替换成你自己的域名就可以了。

  2. 第二个要注意的是基于vpopmail多域名的情况我没有测试,请大家自己测试,理论上应该没有问题。

  3. 我的系统设置了搜索路径所以我直接用tcpserver,一盘的系统需要使用/usr/local/bin/tcpserver的方式来写

  4. 我的vpopmail安装在/vmail中,大家要注意写vchkpw的路径。

  5. 我这儿的507、502分别是QMaild的uid和gid,你要换成你自己的。

  6. 以上操作在redhat7.1下检验通过。


录入时间:2006-05-08 21:35:58 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2014 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号