postfix邮件服务器快速指南
需求:
使用postfix为公司配置一部邮件服务器,用户可以使用username@test.com或username@test.net访问邮箱(也即要实现虚拟域功能),并且要能将所有发给root的邮件转发给用户tom(也即要实现别名)。公司内部网段为192.168.1.0/24,邮件服务器插有两张网卡。
一、运行环境:
操作系统:RedHat7.0
postfix版本:postfix-20010228release-2.i386
pop3服务器版本:RedHat7.0自带的imap-4.7c2-12
客户端工具:outlook
二、安装postfix和imap
1. 获取postfix的rpm软件包。
从http://web6.dialin.co.uk/~sjmudd/postfix/ 站点下载下面的postfix的rpm包:
postfix-20010228release-2.i386.rpm
2. 用以下命令查看系统是否安装了sendmail:
[root@mail /root]# rpm –qa |grep sendmail
sendmail-8.11.0-8
3. 卸载sendmail:
[root@mail /root]# rpm -e sendmail -–nodeps
4. 用以下命令杀死运行中的sendmail进程:
[root@mail /root]# killall sendmail
如果系统提示:
sendmail: no process killed
则说明当前系统中没有sendmail进程。
5. 安装postfix:
[root@mail /root]# rpm -Uvh postfix-20010228release-2.i386.rpm
6. 安装imap
插入RedHat7.0安装盘,mount后执行:
rpm –ivh /mnt/cdrom/RedHat/RPMS/ imap-4.7c2-12.rpm
三、配置DNS
配置DNS服务器,将test.com和test.net域的MX记录都指向邮件服务器,然后执行ndc reload命令使改动生效。
四、配置postfix
编辑postfix的主要配置文件/etc/postfix/main.cf,根据需求只需修改以下几个参数:
1. mydomain
指明你的域名,在这里我们指定:
mydomain = test.com
2. myorigin
myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@domain.com,则该参数指定@后面的域名。在这里我们指定:
myorigin = $mydomain
3. mydestination
mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix
系统要接收什么样的邮件。通常与myorigin一样:
mydestination = $mydomain
4. mynetworks_style
设置网络类型,我们指定:
mynetworks_style = subnet
6.mynetworks
定义可以使用的此smtp服务器发信的客户ip地址,因为公司的ip范围已知,所以我们指定:
mynetworks = 192.168.1.0/24
五、配置虚拟域
为了让用户可以使用username@test.net收发邮件,我们必须配置虚拟域,在main.cf文件中,我们添加以下内容:
virtual_maps = hash:/etc/postfix/virtual
这里假定用户tom、test、white需要使用这个虚拟域名,当然首先要在系统中添加这几个用户,然后建立/etc/postfix/virtual文件并添加以下内容:
test.net anything
tom@test.net tom
test@test.net test
white@test.net white
之后,用postmap命令生成虚拟域数据库:
postmap /etc/postfix/virtual
六、配置用户别名
假设tom是管理员,并且通过tom可以收取所有寄给root的邮件,以便管理员对系统进行监控。要实现这一点,我们必须使用邮件别名。
在main.cf文件中添加以下内容:
alias_maps = hash:/etc/postfix/aliases
其实该配置文件中已经有这一条了,只不过是被注释掉的,可以去掉前面的#号来取消注释。
编辑/etc/postfix/aliases文件,将
root: postfix
改为:
root: tom
用以下命令建立别名数据库:
postalias /etc/postfix/aliases
七、配置pop3
RedHat7.0已经使用xinetd代替了以前的inetd,为了使pop3服务启动,我们编辑/etc/xinetd.d/ipop3文件,将其中的disable = yes改为disable = no 以便启动pop3服务。
为了使改动生效,执行以下命令:
/etc/rc.d/init.d/xinetd reload
八、启动postfix
执行以下命令启动postfix:
/etc/rc.d/init.d/postfix start
这样,我们就实现了所有的需求:在/etc/postfix/virtual中配置过的用户既可以使用username@test.com 访问邮箱,又可以使用username@test.net 访问邮箱;同时也实现了别名功能,所有发给root的邮件都将被转发给用户tom。根据这个例子,读者应该很容易举一反三,实现更复杂一些的功能。
- · ISO/OSI开放系统模型
- · TCP/IP(一)
- · SMTP协议原始命令码和工作原理
- · 认识Pop3命令
- · rfc 2554 SMTP服务认证扩展
- · 什么是LDAP?
- · 邮件传输原理及相关入门知识概述
- · 全面剖析E-mail收发失败的原因(一)
- · 全面剖析E-mail收发失败的原因(三)
- · 全面剖析E-mail收发失败的原因(二)
- · Email邮件头揭密(一)
- · Email邮件头揭密(二)
- · 发送邮件常见出错代码
- · IEEE 802标准 IEEE 802 Standards
- · TCP/IP(二)
- · 邮件原文详细介绍(一)--神奇的MIME
- · 解读邮件原文(二)--邮件编码介绍
- · 邮件退回的讯息表
- · Email协议基础知识
- · HTTP协议
- · 文件传输协议(FTP)
- · TCP/IP子网掩码教程
- · SMTP结构及原理
- · POP3 邮局协议-版本3
- · NNTP协议
- · 深入浅出谈邮件
- · 关于邮件系统域名(DNS)设置的小常识
- · 电子邮件地址的组成
- · 子网掩码和ip地址的关系
- · 如何查看邮件信头
- · 高效实用:用简单命令测试网络性能
- · 浅谈Base64编码
- · 奇妙的Base64编码
- · 网络管理之ICMP协议篇
- · IP地址的物理含义
- · 电子邮件原理
- · E-mail传送中的三种编码标准
- · 邮件-域名-DNS相关知识
