首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试-> ORACLE认证
企业sendmail的架构_qmail
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
人们在Internet上最常使用的就是电子邮件,很多企业用户也经常使用电子邮件系统。在Unix系统中,Sendmail是应用最广的电子邮件服务器。本文将比较详细地介绍如何建立一个Sendmail电子邮件服务器,以满足企业的基本需求。
一. Sendmail的工作模式
Sendmail是最重要的邮件传输代理程序。理解电子邮件的工作模式是非常重要的。一般情况下,电子邮件系统可分为用户代理、传输代理和投递代理几个部分。用户代理用来接受用户的指令,将用户的信件传送至信件传输代理,如Outlook Express和Foxmail等。而投递代理则从信件传输代理取得信件传送至最终用户的邮箱,如Procmail。
当用户试图发送一封电子邮件的时候,他并不能直接将信件发送到对方的机器上,用户代理必须试图去寻找一个信件传输代理,把邮件提交给它。信件传输代理得到了邮件后,首先将它保存在自身的缓冲队列中,然后,根据邮件的目标地址,信件传输代理程序将找到应该对这个目标地址负责的邮件传输代理服务器,再通过网络将邮件传送给它。对方的服务器接收到邮件之后,将其缓冲存储在本地,直到电子邮件的接收者查看自己的电子信箱。
显然,邮件传输是从服务器到服务器的,而且每个用户必须拥有服务器上存储信息的空间(称为信箱)才能接受邮件(发送邮件不受这个限制)。可以看到,一个邮件传输代理的主要工作是监视用户代理的请求,根据电子邮件的目标地址找出对应的邮件服务器,将信件在服务器之间传输并且将接收到的邮件缓冲或者 提交给最终投递程序。 有许多程序可以作为信件传输代理。在Unix系统中,Sendmail是其中应用最广泛的一个,它是一个免费软件,可以支持数千甚至更多的用户,而且占用的系统资源相当少。不过,Sendmail的配置十分复杂,因此,也有人使用另外的一些工具,如Qmail或Postfix等等。
当Sendmail程序得到一封待发送的邮件的时候,它需要根据目标地址确定将信件投递给对应的服务器,这是通过DNS服务实现的。例如一封邮件的目标地址是ideal@linuxaid.com.cn,那么Sendmail首先确定这个地址是用户名(ideal)+机器名(linuxaid.com.cn)的格式,然后,通过查询DNS来确定需要把信件投递给某个服务器。
DNS数据中,与电子邮件相关的是信件交换(Message eXchange,MX)记录,例如在linuxaid.com.cn这个域的dns数据文件中有如下设置:
IN MX 10 mail
IN MX 20 mail1
mail IN A 202.99.11.120
mail1 IN A 202.99.11.121
显然,在DNS中说明linuxaid.com.cn有2个MX服务器,于是,Sendmail试图将邮件发送给两者之一。一般来说,排在前面的MX服务器的优先级别比较高,因此服务器将试图连接mail.linuxaid.com.cn的25端口,试图将信件报文转发给它。如果成功,SMTP服务器的任务就完成了。在这以后的任务,将由mail.linuxaid.com.cn来完成。在一般情况下,MX服务器会自动把信件内容转交给目标主机。不过,也存在这样的情况,目标主机(比如linuxaid.com.cn)可能并不存在,或者不执行SMTP服务,而是由其MX服务器来执行信件的管理,这时候,最终的信件将保存在MX机器上,直到用户来查看它。
如果DNS查询无法找出对某个地址的MX记录(通常因为对方没有信件交换主机),那么Sendmail将试图直接与来自邮件地址的主机对话并且发送邮件。例如,test@aidgroup.linuxaid.com.cn,DNS中没有对应的MX记录,因此Sendmail在确定MX服务器失败后,将从DNS取得对方的IP地址并直接和对方对话试图发送邮件。
二. 工作环境
本文假设用户希望在企业网环境中创建一个电子邮件服务器,为本企业用户提供邮件服务。该服务器拥有一个合法的IP地址202.99.11.200和一个合法的域名mail.linuxaid.com.cn,并且DNS的MX记录也指向该域名(注:这里示例域名和IP地址均为伪造域名和地址)。为了满足域名需求,DNS的域数据文件应该包含以下内容:
IN MX 10 mail
mail IN A 202.99.11.200
试验环境为RedHat 6.2、Sendmail 8.11.4和Qpopper 4.0.3,可分别从http://www.Sendmail.org/current-rel...Popper_general/ 下载Sendmail和Qpopper。
三. Sendmail的安装
当前Sendmail最新的稳定版本为8.11.4,下载得到tar.gz格式的压缩包以后,将其存放在/usr/src目录下。
1.解压软件包
[root@email src]# tar xvfz Sendmail.8.11.4.tar.gz
[root@email src]# cd Sendmail-8.11.4
2.编译安装
[root@email Sendmail-8.11.4]# cd Sendmail
[root@email Sendmail]# sh Build
3.生成配置文件
[root@email Sendmail]#cd /usr/src/Sendmail-8.11.4/cf/cf/
一般该目录下应该有config.mc的文件,如果没有则创建新文件
config.mc,内容如附图所示。
然后运行:
[root@email cf]# sh Build config.cf
该命令将在该目录下生成config.cf文件。
4.安装Sendmail
[root@email Sendmail]# sh Build install
将config.cf拷贝到/etc/mail目录下,并改名为Sendmail.cf:
[root@email mail]#cp /usr/src/Sendmail-8.11.4/cf/cf/
config.cf /etc/mail/Sendmail.cf
四. Sendmail的配置
配置Sendmail的步骤如下。
1.在/etc/mail目录下创建access文件,内容如下:
127.0.0.1 RELAY
202.99.11 RELAY
这里表示允许本机和202.99.11.0网段中的机器通过该邮件服务器的转发邮件。其中202.99.11应该是您拥有的局域网络IP网段的IP地址,只需要写网络部分即可。比如说您的用户有多个网段,只需要在其中设置多个网段即可:
127.0.0.1 RELAY
202.99.11 RELAY
200.200.201 RELAY
2.对access文件生成易于检索的库文件格式:
[root@email mail]# makemap hash access.db < access
创建文件/etc/mail/local-host-names,其内容为本机的拥有的域名信息,因为在上面的DNS配置文件中该服务器有一个域名: email.linuxaid.com.cn,并且MX记录也指向该域名,因此该服务器就有2个域名,分别为email.linuxaid.com.cn和linuxaid.com.cn,这样用户才可以使用someone@linuxaid.com.cn这样的地址收发邮件,故该文件应该包含入下内容:
linuxaid.com.cn.
mail.linuxaid.com.cn.
3.创建别名数据库。在/etc/mail/aliases目录下创建文件aliases,内容如下:
MAILER-DAEMON: postmaster
postmaster: root
bin: root
daemon: root
nobody: root
然后生成aliases库:
[root@email mail]# newaliases
然后,就可以按如下方式启动Sendmail了:
[root@email mail]# /usr/sbin/Sendmail -bd -q20m
在第一次启动时可能出现如下的错误信息:
554 5.0.0 /etc/mail/Sendmail.cf: line 41: unknown
configuration line ""
554 5.0.0 /etc/mail/Sendmail.cf: line 60: unknown
configuration line ""
不要紧张,只需要使用vi编辑器将这些行删除即可,其实41和60等行都是空白行而已。删除以后再重新启动就应该没有问题了。
五. QPopper的安装配置
QPopper是Unix/Linux环境下的POP3服务器,该软件配合Sendmail使用。其主要功能是实现支持用户通过POP3接收信件。安装和配置Qpopper的主要步骤如下:
1.创建从/usr/mail指向/var/spool/mail/的链接
[root@email src]# ln -s /var/spool/mail/ /usr/mail
2.解压QPopper软件包
[root@email src]# tar xvfz QPopper4.0.3.tar.gz
[root@email src]# cd QPopper4.0.3
3.编译安装QPopper
[root@email QPopper4.0.3]# ./configure
[root@email QPopper4.0.3]# make
[root@email QPopper4.0.3]# make install
安装成功以后,QPopper将会被安装在/usr/local/sbin/目录下。设置inetd启动QPopper。编辑/etc/inetd.conf,查找pop内容的一行,在其前面添加#号,然后在改行后面添加如下内容:
pop-3 stream tcp nowait root /usr/local/sbin/popper
QPopper -s然后查找inetd进程ID号:
[root@email QPopper4.0.3]# ps ax|grep inetd
336 ? S 0:00 inetd
16872 pts/0 S 0:00 grep inetd
找到inetd进程号为226。然后重新启动inetd进程,
重新读取配置文件:
[root@www QPopper4.0.3]# kill -HUP 336
这时候查看系统服务端口号:
[root@email QPopper4.0.3]# netstat -ln|grep 110
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
则说明110端口已经开始正常服务。
六. 测试邮件服务器
接下来是测试邮件服务器的邮件发送/接收功能。注意,在测试时,不要在只对本地用户进行测试。例如,用户的域为abc.com,测试时,不要只在邮件服务器上通过mail、elm等程序测试user1@abc.com用户。因为,此时user1是本地用户,所以邮件服务器可以对其进行Relay。用户应该从局域网上的另一台机器使用Outlook等邮件客户端对服务器进行收发测试。
这种配置对于IP固定用户没有问题,只需要在access文件中指定其固定IP即可,而对于需要支持流动用户,如拨号用户的应用则不大适合,因为如果完全打开RELAY功能可能导致邮件服务器的称为垃圾邮件的转发站。
  解决用户IP不固定问题有2种方案,一种为采用SMTP认证,即用户发送邮件以前,邮件服务器进行用户身份认证,通过则服务器为其发送邮件,否则拒绝发信;第二种方案是采用动态转发授权控制(Dynamic Relay Authorization Control,DRAC),其工作原理为: 拨号用户拨号上网后,首先收邮件,如果用户能正确收邮件,则DRAC自动在access.db中加入刚才收邮件用户的IP,并允许此IP可以发信。不过,30分钟内,此IP不发/收邮件的话,DRAC将从access.db中删除此IP。此种机制保证拨号用户在没有SMTP认证的情况下,也可以通过远程邮件服务器发送电子邮件。
,

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·一个特牛的日期时间判断正则表达式-ASP教程,正则表达式
·Remoting编程知识一-.NET教程,.NET Framework
·从客户端检测到有潜在危险的Request.Form 值-ASP教程,客户端相关
·关于DataRow和DataColumn的一点个人简单理解-.NET教程,数据库应用
·DataTable.Select使用小心得-.NET教程,数据库应用
·在Java中如何模拟多继承-JSP教程,Java技巧及代码
·上海移动数据网综合网管的实现
·在VC中用GDI+绘制角度可变的颜色渐变效果-.NET教程,VB.Net语言
·超漂亮的绿色按扭制做-网页设计,Photoshop
·Java获取Html变量的值-JSP教程,Java技巧及代码
最新文章
·阿里联盟:关于结算时间问题的统一说明_网赚技巧
·谷歌官方组织adsense优化大赛_网赚技巧
·google adsense 2007巡讲大会上海站总结_网赚技巧
·网络只是一个开始:专访91now站长小鱼头_站长访谈
·asp.net应用程序资源访问安全模型_asp.net技巧
·给那些迷惑于做垃圾站的站长们_站长心得
·免费——不是威客网站的杀手锏_站长心得
·圈圈浅谈个人网站发展和赚钱的模式-网站推广的口碑篇_站长心得
·说网解络之web2.0概念诠释(1)_站长心得
·google adsense系列技巧100条_google推广
相关主题
  • 企业sendmail邮件服务器的创建_qmail
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭