某公司有员工700余人,分布在北京总部及全国各地的分公司,为保证电子信息传递的及时、稳定性,减少业务沟通故障,要求构建一套自主管理的电子邮件系统。本案例要求沿用练习一,基于Postfix软件来实现发信功能。 需要完成的配置任务如下:
1)安装并配置postfix软件,适用于tedu.cn 邮件域2)添加两个邮箱账号:nick、hunter3)用户nick可以通过 telnet 给用户hunter发送电子邮件4)检查用户hunter的邮箱目录,可以查看收到的邮件postfix是RHEL6系统中自带的软件包,主要用来实现SMTP协议,提供电子邮件的发送和传递。主要的配置文件位于/etc/postfix/main.cf,需要调整配置时可以直接修改这个文件,也可以用postconf辅助工具。 关于postconf工具的常见用法:
1)列出当前有效配置:postconf
2)列出非默认的配置:postconf -n
3)列出默认配置:postconf -d
4)修改指定的配置参数:postconf -e ‘参数1=值1,值2…’ … 主配置文件main.cf中的配置参数写法:参数1=值1,值2。若要了解所有可用配置参数的用法说明,可以执行man 5 postconf查阅手册文档。
[root@mail ~]# man 5 postconf POSTCONF(5) POSTCONF(5) NAME postconf - Postfix configuration parameters SYNOPSIS postconf parameter ... postconf -e "parameter=value" ... .. ..配置参数的多个值之间允许以逗号或空格分开,也可以写到下一行,但是需要注意,换行写参数值的时候,行首至少要留一个空格或Tab制表位,否则会被视为下一个配置参数而出错。 默认情况下,postfix服务器使用本机的系统用户作为电子邮箱的用户,因此只要正常添加系统用户并设置密码,也就相当于添加了电子邮箱用户。
实现此案例需要按照如下步骤进行。 步骤一:安装 postfix 软件包
[root@mail ~]# yum -y install postfix .. .. [root@mail ~]# rpm -q postfix postfix-2.6.6-2.2.el6_1.x86_64步骤二:简化、调整主配置文件,启动 postfix 服务 1)简化main.cf配置文件
[root@mail ~]# cd /etc/postfix/ [root@svr5 postfix]# postconf -n > tmp.txt [root@svr5 postfix]# mv main.cf main.cf.origin [root@svr5 postfix]# mv tmp.txt main.cf2)修改main.cf配置,以满足tedu.cn邮件域要求
[root@mail ~]# vim /etc/postfix/main.cf .. .. #inet_interfaces = localhost //注释掉此行 myhostname = mail.tedu.cn mydomain = tedu.cn //邮件域 myorigin = $mydomain //显示的发件域 mydestination = $mydomain, $myhostname //本地投递域 home_mailbox = Maildir/ //邮箱类型 .. ..3)启动postfix服务,并设为开机自动运行
[root@mail ~]# service postfix restart [root@mail ~]# chkconfig postfix on [root@mail ~]# netstat -antp | grep :25 //确认监听状态 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 5927/master步骤三:添加电子邮箱账号 1)添加测试用户nick,将密码设为1234567
[root@mail ~]# useradd nick [root@mail ~]# echo 1234567 | passwd --stdin nick2)添加第二个测试用户hunter,将密码也设为1234567
[root@mail ~]# useradd hunter [root@mail ~]# echo 1234567 | passwd --stdin hunter步骤四:使用mail 命令测试发信(nick给hunter) 未做明确配置时,mail命令默认将本机作为发信、收信的服务器,所以此步骤中的测试操作在邮件服务器本机完成。 1)以用户nick的身份给hunter发送一封测试邮件
[root@svr5 ~]# echo "Mail Data." | mail -s "Test Mail 1" -r nick@tedu.cn hunter@tedu.cn2)检查 hunter 的邮箱目录、确认收到邮件 若nick提交的邮件发送成功,则收件人hunter的家目录下的Maildir/new/子目录下可以找到新收到的电子邮件文档:
[root@mail ~]# ls ~hunter/Maildir/new/ //新邮件列表 1379059530.V802I3ec129M716267.mail.tedu.cn可以用cat等命令直接阅读对应的邮件文档,或者使用mail –f来加载邮箱:
[root@svr5 ~]# mail -f ~hunter/Maildir/ Heirloom Mail version 12.4 7/29/08. Type ? for help. "/home/hunter/Maildir/": 1 message 1 new >N 1 nick@tedu.cn Thu Dec 17 04:22 17/510 "T" & p 1 Message 1: From nick@tedu.cn Thu Dec 17 04:22:47 2015 Return-Path: <nick@tedu.cn> X-Original-To: hunter@tedu.cn Delivered-To: hunter@tedu.cn Date: Thu, 17 Dec 2015 04:22:47 +0800 From: nick@tedu.cn To: hunter@tedu.cn Subject: Test Mail 1 User-Agent: Heirloom mailx 12.4 7/29/08 Content-Type: text/plain; charset=us-ascii Status: RO Mail Data. & q [root@svr5 ~]#注意:用户家目录下的邮箱目录Maildir不需要手动创建,实际上当此用户收到第一封邮件的时候,postfix会自动建立此目录。