邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: [转帖]postfix邮件服务器快速指南 [打印本页]

作者: ringsung    时间: 2003-7-10 14:22
标题: [转帖]postfix邮件服务器快速指南
转自LinuxAid<br>
需求:<br>
<br>
  使用postfix为公司配置一部邮件服务器,用户可以使用username@test.com或username@test.net访问邮箱(也即要实现虚拟域功能),并且要能将所有发给root的邮件转发给用户tom(也即要实现别名)。公司内部网段为192.168.1.0/24,邮件服务器插有两张网卡。<br>
<br>
一、运行环境:<br>
<br>
操作系统:RedHat7.0<br>
postfix版本:postfix-20010228release-2.i386<br>
pop3服务器版本:RedHat7.0自带的imap-4.7c2-12<br>
客户端工具:outlook<br>
<br>
二、安装postfix和imap<br>
<br>
1. 获取postfix的rpm软件包。<br>
<br>
  从<a target=_blank href=http://web6.dialin.co.uk/~sjmudd/postfix/>http://web6.dialin.co.uk/~sjmudd/postfix/</a> 站点下载下面的postfix的rpm包:<br>
<br>
postfix-20010228release-2.i386.rpm<br>
<br>
2. 用以下命令查看系统是否安装了sendmail:<br>
<br>
[root@mail /root]# rpm –qa |grep sendmail<br>
sendmail-8.11.0-8<br>
<br>
3. 卸载sendmail:<br>
<br>
[root@mail /root]# rpm -e sendmail -–nodeps<br>
<br>
4. 用以下命令杀死运行中的sendmail进程:<br>
<br>
[root@mail /root]# killall sendmail<br>
<br>
  如果系统提示:<br>
<br>
sendmail: no process killed<br>
<br>
  则说明当前系统中没有sendmail进程。<br>
<br>
5. 安装postfix:<br>
<br>
[root@mail /root]# rpm -Uvh postfix-20010228release-2.i386.rpm<br>
<br>
6. 安装imap<br>
<br>
  插入RedHat7.0安装盘,mount后执行:<br>
<br>
rpm –ivh /mnt/cdrom/RedHat/RPMS/ imap-4.7c2-12.rpm<br>
<br>
三、配置DNS<br>
<br>
  配置DNS服务器,将test.com和test.net域的MX记录都指向邮件服务器,然后执行ndc reload命令使改动生效。<br>
<br>
四、配置postfix<br>
<br>
  编辑postfix的主要配置文件/etc/postfix/main.cf,根据需求只需修改以下几个参数:<br>
<br>
1. mydomain<br>
<br>
  指明你的域名,在这里我们指定:<br>
<br>
mydomain = test.com<br>
<br>
2. myorigin<br>
<br>
  myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@domain.com,则该参数指定@后面的域名。在这里我们指定:<br>
<br>
myorigin = $mydomain<br>
<br>
3. mydestination<br>
<br>
  mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix<br>
系统要接收什么样的邮件。通常与myorigin一样:<br>
<br>
mydestination = $mydomain<br>
<br>
4. mynetworks_style<br>
<br>
  设置网络类型,我们指定:<br>
<br>
mynetworks_style = subnet<br>
<br>
5. mynetworks<br>
<br>
  定义可以使用的此smtp服务器发信的客户ip地址,因为公司的ip范围已知,所以我们指定:<br>
<br>
mynetworks = 192.168.1.0/24<br>
<br>
五、配置虚拟域<br>
<br>
  为了让用户可以使用username@test.net收发邮件,我们必须配置虚拟域,在main.cf文件中,我们添加以下内容:<br>
<br>
virtual_maps = hash:/etc/postfix/virtual<br>
<br>
  这里假定用户tom、test、white需要使用这个虚拟域名,当然首先要在系统中添加这几个用户,然后建立/etc/postfix/virtual文件并添加以下内容:<br>
<br>
test.net anything<br>
tom@test.net tom<br>
test@test.net test<br>
white@test.net white<br>
<br>
  之后,用postmap命令生成虚拟域数据库:<br>
<br>
postmap /etc/postfix/virtual<br>
<br>
六、配置用户别名<br>
<br>
  假设tom是管理员,并且通过tom可以收取所有寄给root的邮件,以便管理员对系统进行监控。要实现这一点,我们必须使用邮件别名。<br>
<br>
  在main.cf文件中添加以下内容:<br>
<br>
alias_maps = hash:/etc/postfix/aliases<br>
<br>
  其实该配置文件中已经有这一条了,只不过是被注释掉的,可以去掉前面的#号来取消注释。<br>
<br>
  编辑/etc/postfix/aliases文件,将<br>
<br>
root: postfix<br>
<br>
  改为:<br>
<br>
root: tom<br>
<br>
  用以下命令建立别名数据库:<br>
<br>
postalias /etc/postfix/aliases<br>
<br>
七、配置pop3<br>
<br>
  RedHat7.0已经使用xinetd代替了以前的inetd,为了使pop3服务启动,我们编辑/etc/xinetd.d/ipop3文件,将其中的disable = yes改为disable = no 以便启动pop3服务。<br>
为了使改动生效,执行以下命令:<br>
<br>
/etc/rc.d/init.d/xinetd reload<br>
<br>
八、启动postfix<br>
<br>
  执行以下命令启动postfix:<br>
<br>
/etc/rc.d/init.d/postfix start<br>
<br>
  这样,我们就实现了所有的需求:在/etc/postfix/virtual中配置过的用户既可以使用username@test.com 访问邮箱,又可以使用username@test.net 访问邮箱;同时也实现了别名功能,所有发给root的邮件都将被转发给用户tom。根据这个例子,读者应该很容易举一反三,实现更复杂一些的功能。<br>
<br>

作者: sgm277    时间: 2007-1-26 16:20
好,基础.
作者: trades    时间: 2007-3-1 09:39
用fc6,邮件服务器一张网卡,不知道这个操作方法可不可行?
作者: dnnljexk    时间: 2007-9-2 21:33
顶一下




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://5dmail.net/BBS/) Powered by Discuz! X3.2