热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » Linux服务器架设 » Linux系统上架设一台高容量的POP3服务器

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

论坛链接
  • Linux系统上架设一台高容量的POP3服务器
  • 发布时间:2007-09-15 23:10:37    浏览数:8477    发布者:abcdef133    设置字体【   
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目录,改进服务器文件系统性能,特别是有大量用户时)

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

/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 }'  sed -e

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

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

5、FAQ

  编译qpopper后,仍需在命令行上使用-F -S参数以启动服务器模式和快速更新,请放-F在-S的前面。
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理