您所在的位置:读书频道 > 操作系统 > Linux > 19.3.2 开放SendMail的监听接口与设置收信主机名称

19.3.2 开放SendMail的监听接口与设置收信主机名称

2007-12-06 18:37 鸟哥 机械工业出版社华章公司 字号:T | T
一键收藏,随时查看,分享好友!

《鸟哥的Linux私房菜——服务器架设篇》(第二版)第19章的主要介绍的是以Postfix为主的邮件主机架设。本文主要介绍的是开放SendMail的监听接口与设置收信主机名称。

AD:

19.3.2  开放SendMail的监听接口与设置收信主机名称

事实上CentOS默认已经启动SendMail,只是它仅接收来自本机的MTA要求,不相信吗?做一下下面的练习。

例题:请列出您的主机上面,所有在监听tcp/udp的端口与服务的对应数据。

答:直接利用netstat即可列出,鸟哥的主机可以列出这些数据:

netstat -tulnp

Active Internet connections (only Servers)

Proto Recv-Q Send-Q Local Address  Foreign Address  State   PID/Program name

tcp   0       0      0.0.0.0:22     0.0.0.0:*         LISTEN  16856/sshd

tcp   0       0      127.0.0.1:25   0.0.0.0:*         LISTEN 

8036/SendMail: acce

 

在上面的例题中可以发现,端口25是由SendMail启动的,而且只监听127.0.0.1这个lo接口。所以我们的重点当然就是如何将监听的接口开启到整个Internet上,否则它是无法接收来自Internet的信件的。我们知道配置文件在/etc/Mail/SendMail.cf中,但不要手动修改它,您应该修改的是SendMail.mc文件。这个文件设置项目的基本语法为:“设置组件('设置项目', '参数一', '参数二')”,每个设置项目与参数左边使用的均是数字键1左边的那个按钮(quote),右边则是单引号,这个文件的设置项目您可以参考下面的网页说明:

· http://linux.vbird.org/linux_Server/0380SendMail.php
· http://www.SendMail.org/m4/readme.html

这里只要修改一个地方即可,其他的可以使用默认值。

1. 修改 SendMail.mc 的参数
[root@linux ~]# vi /etc/Mail/SendMail.mc
# 找到下面这一行
DAEMON_OPTIONS(`Port=SMTP,Addr=127.0.0.1, Name=MTA')dnl
# 将它改成这样即可
DAEMON_OPTIONS(`Port=SMTP,Addr=0.0.0.0, Name=MTA')dnl

2. 备份旧的设置文件数据
[root@linux ~]# cd /etc/Mail
[root@linux Mail]# mv SendMail.cf SendMail.cf.back1

3. 开始建立新的SendMail.cf配置文件
[root@linux Mail]# m4 SendMail.mc > SendMail.cf

当处理完毕后,需重新启动SendMail并检查一下SMTP的监听端口:

[root@linux ~]# /etc/init.d/SendMail restart

[root@linux ~]# netstat -tlunp
Active Internet connections (only Servers)
Proto Recv-Q Send-Q Local Address  Foreign Address  State   
PID/Program name
tcp    0       0       0.0.0.0:25      0.0.0.0:*         LISTEN  
8517/SendMail: acce

监听的接口即可对整个Internet开放了。这个时候理论上您的MTA已经开始运行了。而我们的MTA既然已经针对Internet来监听了,自然您的主机名称要设置正确才行。否则主机默认只会接收localhost这个主机名称的信件。我们可以这样做:

[root@linux ~]# vi /etc/Mail/local-host-names
linux.vbird.tsai
www.vbird.tsai
FTP.vbird.tsai

[root@linux ~]# /etc/init.d/SendMail restart

改写完毕后记得要重新启动SendMail,上述设置才会正式生效。每一行都有一个主机名称。需要注意的是,以后如果您的主机新增了不同的主机名称,并且您希望该主机名称可以用来收发信件,那么需要修改local-host-names。那么什么时候不要将所有的主机名称都写到local-host-names里面去呢?

由于目前的广告邮件实在是太多了,它们会主动在Internet上搜索一些主机名称,然后随机四处发送垃圾邮件。如果您的主机有4个名称,每个主机名称都写到local-host-names去的话,很可能一封广告邮件您会收到4次。所以,有的时候还是不要让全部的主机名称都可以收信比较好。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

'ASP.NET'程序设计教程
《ASP.NET程序设计教程》是在总结多年ASP.NET教学和应用项目开发经验基础上编写完成的,编写过程中充分吸取了其他畅销实用教程的

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院 区块链第一聚合媒体 zhijiapro