炫浪网首页 | 加入收藏夹 登录 | 注册
logo
网站导航: 炫浪首页游戏频道女性风采科技学院精品素材桌面壁纸BT影视网络社区健康生活
热门栏目: 炫友贴图编程开发硬件学堂博客空间游戏攻略游戏资源时尚女性美容护肤教程下载
炫浪(科技.学院)
 | 网站首页 | 系统软件 | 图形图像 | 编程开发 | 网络应用 | 硬件学堂 | 办公应用 | 〖图书馆〗 | 
  您现在的位置: 炫浪学院 >> 网络应用 >> 服务器 >> 服务器操作系统 >> Linux >> 正文

Linux上架设一台高容量POP3服务器

炫浪 科技.学院 时间:2007-12-11 16:09:16 来源:炫浪 发表评论 社区讨论

 POP3(Post Office Protocol 3)即邮局协议的第3个版本,它规定怎样将个人计算机连接到互联网上的邮件服务器下载电子邮件的电子协议。

  它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。本文将介绍如何使用开源软件Procmail和Qpopper,在Linux系统上配置一台可供大量用户使用的POP3服务器。

  1、下载Procmail和Qpopper

  Procmail可从http://www.procmail.org/procmail-3.21.tar.gz下载

  Qpopper可从http://www.eudora.com/qpopper_general/下载。

  2、编译Qpopper

  假设下载的文件放在/root

  #cd /root

  #tar xvfz qpopper4.0.3.tar.gz

  #cd qpopper4.0.3

  #./configure ——enable-hash-spool=2

  ——enable-log-login

  ——enable-server-mode

  ——enable-fast-update

  ——enable-shy

  ——enable-spool-dir=/usr/mail

  ——enable-specialauth

  注释:

  ——enable-specialauth 使用/etc/shadow 密码认证——enable-hash-spool=2 使用二级hash结构

  ——enable-spool-dir=/usr/mail 则用户信箱文件为/usr/mail/j/e/jephe

  ——enable-log-login 记录下成功的POP3登录进入syslog

  ——enable-server-mode和——enable-fast-update

  不要让qpopper在用户存取信箱时拷贝信箱文件到临时文件,减少磁盘I/O,增强性能。

  ——enable-shy让服务器响应时不要显示版本信息,增强安全性。

  #make

  #make install

  编辑文件/etc/inetd.conf

  在/etc/xinetd.d下创建文件pop3,包含下面的内容:

  service pop3

  {

  socket_type = stream

  protocol = tcp

  wait = no

  user = root

  server = /usr/local/lib/popper

  server_args = qpopper -F -S -s -c -R -T120

  port = 110

  }注释:

  -F enable fast update

  -S enable server mode (在用户对该服务器没有shell存取时做)

  -s 打开LOG功能

  -c 忽略用户名的大小写

  -R 不对连接进来的IP地址做反向域名检查

  -T 设定超时时间

 这样设定之后,如果用户jephe收取信件时,则先锁定信箱文件/usr/mail/j/e/jephe创建锁文件.jephe.pop,检查信件数目,退时出更新状态,生成.jephe.cache文件。

  否则正常模式下是先把/usr/mail/j/e/jephe拷贝成.jephe.pop,最后用户检查信箱完毕再拷贝回来,增加了I/O处理时间

  如果不是redhat则在/etc/inetd.conf中注释以pop-3开头的行,然后在后面再添加下面的行: pop-3 stream tcp nowait.400 root /usr/local/sbin/popper -F -S -s -c -R -T120

  nowait:400中的400是指每分钟最多可接受的连接请求数目

  如果你在/etc/hosts.deny中设置了ALL:ALL,则要在/etc/hosts.allow中输入

  popper:ALL

  3、编译Procmail

  假设下载的文件放在/root

  #cd /root

  #tar xvfz procmail-3.21.tar.gz

  #cd procmail-3.21

  #vi src/authenticate.c

  改#define MAILSPOOLDIR行后面的/var/spool/mail为 "/usr/mail/" (这里用的是/usr/mail)改#define MAILSPOOLHASH 后面的0 为 2 (用二级hash目录,改进服务器文件系统性能,特别是有大量用户时)

  注:这样的话,如果用户的信箱为jephe@domain.com,则文件应存在

  /usr/mail/j/e/jephe

  #mv /var/spool/mail /var/spool/mail.bak

  注:先换名这个目录,因为可能当编译时如果能找到该目录,则优先用该目录及hash层次结构,这样的话将存储用户邮件到文件/var/spool/mail/j/e/jephe.如果你就想用这个目录,就不用改上面的MAILSPOOLDIR行。

  #make

  #make install

  #make install-suid

  然后以root身份运行#procmail -v检查用户的邮件路径确认为/usr/mail/r/o/root。

  4、创建POP3用户

  你不需要为mail用户分配home目录,也不需要设置其主目录为/usr/mail/j/e (假定用户为jephe),用下面的命令创建用户。

  #useradd jephe -c "Jephe Wu" -g mail -d /dev/null -s /bin/false

  再可以写一个批命令用chpasswd给每个用户以同样的password.

  1)首先用passwd为mailuser1设置密码,假定为"abc123",检查/etc/shadow中的密码。

  2)创建一个新文件/tmp/password,每行包括一个用户名、密码 ,可从/etc/passwd用下面的命令取得。

  cat /etc/passwd   awk -F: '{print $1}'  sed -e

  's/$/:$$1$G22Plicn$r5.bSe0U7DbaHN7tCevTR\//g'

  c. 然后运行chpasswd < /tmp/password

  5、FAQ

  编译qpopper后,仍需在命令行上使用-F -S参数以启动服务器模式和快速更新,请放-F在-S的前面。

 

  • 上一篇文章:

  • 下一篇文章:
  • 发 表 评 论
    姓 名: 主 页:
    评 分: 1分 2分 3分 4分 5分
    内 容:
    频 道 推 荐

    防止黑客入侵ADSL的

    详述ADSL主要故障来

    ADSL宽带拨号的经典

    常用命令让菜鸟学会

    黑客知识之木马程序

    无线局域网之二十六
    最 新 热 门
    相 关 文 章
    Linux操作系统下PHP服务器安全配置
    在Linux操作系统上配置DNS服务器的
    Linux系统挂载AIX NFS服务器的配置
    Samba服务器多系统用户共享目录设计
    Linux攻略 Samba服务的搭建与配置
    Linux操作系统下配置DNS服务器的方
    linux环境下轻松搭建CVS服务器
    Ubuntu Linux通过SSh远程管理服务器
    Linux操作系统下DHCP中继代理的实现
    Linux系统 搭建Discuz论坛的方法
    相 关 新 贴
    广 告 展 示

    炫浪网 业务、广告:web#xvna.com (请将#换成@) 业务广告QQ 业务广告QQ2
    Copyright @ 2006-2007 All Right Reserved (主域名 xvna.com 粤ICP备07040110号)
    【声明】本网站部分内容属社区网友发布,本网站仅提供网友交流平台,但有权在本网站范围内引用、发布、转载来自论坛网友发布的内容。网友发布内容纯属个人行为,与本网站立场无关。本网站对于论坛网友发布的内容所引发的版权、署名权的异议及纠纷,不承担任何责任。其他媒体转载须事先与原作者和本网站联系。