开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

sendmail在企业网中的应用(上)

简介:
+关注继续查看

一:sendmail概述:

Sendmail是目前使用最为广泛的一种E-mail服务器,是最重要的邮件传输代理程序。理解电子邮件的工作模式是非常重要的。一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。当用户试图发送一封电子邮件的时候,他并不能直接将信件发送到对方的机器上,用户代理必须试图去寻找一个信件传输代理,把邮件提交给它。信件传输代理得到了邮件后,首先将它保存在自身的缓冲队列中,然后,根据邮件的目标地址,信件传输代理程序将找到应该对这个目标地址负责的邮件传输代理服务器, 并且通过网络将邮件传送给它。对方的服务器接收到邮件之后,将其缓冲存储在本地,直到电子邮件的接收者查看自己的电子信箱。可以看到,一个邮件传输代理的主要工作是监视用户代理的请求,根据电子邮件的目标地址找出对应的邮件服务器,将信件在服务器之间传输并且将接收到的邮件缓冲或者 提交给最终投递程序。

二:sendmail与dns:

电子邮件(email)服务器与DNS系统是始终分不开的,如果你要发电子邮件,就得通过邮件(email)服务器帮你将信件送出去。由于IP地址相对难以记忆,因此我们要有域名与IP地址的对应,这就是DNS系统,因此在收发电子邮件的过程中要用到DNS系统域名解析。DNS数据中,与电子邮件相关的是MX记录。一般来说,排在前面的的MX服务器的优先级别比较高由于MX后可以接数字,因此,一个域名或一台主机可以有多个MX记录,这样就起到了冗余功能,当一台邮件服务器出现问题时,由于有多个MX记录,因此信件不会被直接退回,而是转到下一个设置MX记录的主机并暂存在该处,等主要邮件服务器恢复正常之后,这个设置MX记录的主机将会把邮件传送到目的地,如此就起到了异地救援作用。

三:邮件系统结构:

MUA(mail user agent)邮件用户代理:MUA是一个邮件系统的客户端程序,提供阅读、发送和接收电子邮件的用户接口,MUA是邮件系统中与用户直接交互的程序。在windows下,常用的有microsoft的outlook,国产的foxmail,在linux下有evolution以及firefox等软件包。

MTA(mail submission agent)邮件传输代理:邮件传输代理负责邮件的存储和转发,MTA监视用户请求,根据电子邮件的目标地址找到对应的电子邮件服务器。在linux下常用 的MTA有sendmail(速度较慢)以及postfix(速度较快)等。

MDA(mail delivery agent)邮件投递代理:主要的功能是将MTA接收的信件依照信件的流向放置到本地账户下的邮件文件中,或者再经由MTA将信件送到下一个MTA。在linux下常用的MDA有mail.local、promail等。

MAA(mail access agent)邮件访问代理:MAA用户将用户连接到系统邮件库,使用pop或者imap协议接收邮件。linux下常用的有dovecot软件包等

image

四:邮件系统所使用的协议:

SMTP:简单邮件传输协议:SMTP只负责电子邮件的传送,其使用的端口是25。他是目前internet上传输电子邮件的标准协议。

POP:邮局协议:有版本2和3,目前大多使用版本3。是接收电子邮件客户机和服务器之间的协议。客户端程序连接到服务器的端口号110.

IMAP:网际消息访问协议。目前版本为4。他提供方便的下载服务,支持pop协议所具有的全部功能。端口号是143.

image 

案例:在136.com域sendmail服务器上创建账户user1和user2,在sina.com域上创建user3和user4,实现这些用户间的邮件转发。

拓扑方案:

首先搭建163.com邮件服务器:

修改主机名:

[root@lyt ~]# vim /etc/sysconfig/network    #如图:

image

[root@lyt ~]# vim /etc/hosts

image

搭建dns服务器:

[root@lyt ~]# mkdir /mnt/cdrom

[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/

[root@lyt ~]# cd /mnt/cdrom/Server/

[root@lyt Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm

[root@lyt Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm

[root@lyt Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm

[root@lyt Server]# cd /var/named/chroot/etc/

[root@lyt etc]# cp -p named.caching-nameserver.conf named.conf

[root@lyt etc]# vim named.conf

image

[root@lyt etc]# vim named.rfc1912.zones

image

[root@lyt etc]# cd ../var/named/

[root@lyt named]# cp -p localhost.zone 163.com.db

[root@lyt named]# cp -p named.local 192.168.101.db

[root@lyt named]# vim 163.com.db

image 

[root@lyt named]# vim 192.168.101.db       #区域的声明文件是101.168.192.in-addr.arpa与sina.com的相同

image

[root@lyt named]# vim /etc/resolv.conf      #该sendmail服务器也是dns服务器,所以sendmail要dns解析,需要指向dns服务器,也即192.168.101.66

image

[root@lyt named]# service named start

[root@lyt named]# chkconfig named on        #开机启动dns服务器

[root@lyt named]# init 6      #重启该服务器

搭建sendmail(邮件发送服务器)

[root@mail ~]# mount /dev/cdrom /mnt/cdrom/

[root@mail ~]# cd /mnt/cdrom/Server/

image

[root@mail Server]# rpm -qa |grep sendmail   #查看sendmail已经安装过的包

image

image

[root@mail Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm       #该软件包用于直接编辑sendmail.mc文件,不用编辑sendmail.cf文件

[root@mail Server]# cd /etc/mail

[root@mail mail]# vim sendmail.mc      #编辑sendmail的主配置文件

image

[root@mail mail]# vim access       #编辑sendmail的中继文件

image

[root@mail mail]# vim local-host-names

image

[root@mail mail]# service sendmail restart      #重启sendmail服务器

搭建dovecot(邮件接收服务器)

[root@mail mail]# vim /etc/yum.repos.d/rhel-debuginfo.repo        #编辑本地yum

image

[root@mail mail]# cd /mnt/cdrom/Server/

[root@mail Server]# yum install dovecot –y      #安装该软件包,用于接收邮件

[root@mail Server]# rpm -ql dovecot |less      #查看dovecot的安装位置

[root@mail Server]# vim /etc/dovecot.conf      #查看dovecot的配置文件,此处无需修改

image

[root@mail Server]# service dovecot start     #启用dovecot服务器

[root@mail Server]# chkconfig dovecot on     #开机自动启动

[root@mail Server]# useradd user1 #在本地邮件服务器(163.com)上创建账户user1

[root@mail Server]# passwd user1

[root@mail Server]# useradd user2 #在本地邮件服务器(163.com)上创建账户user2

[root@mail Server]# passwd user2

测试:使用windows xp主机自带的outlook express工具查看本地邮件服务器(163.com)是否可用:(本地的user1用户向user2发送邮件)

xp主机的ip参数

image

点击:开始——》程序——》outlook  express

使用同样的方法创建user2

image

image

image

image

image

image 

image 

image

user1向user2发送邮件:

image

image

image

user2向user1发送邮件:

image 

image

image 

测试成功!!!

搭建sina.com邮件服务器:

[root@localhost ~]# vim /etc/sysconfig/network

image

搭建dns服务器

[root@localhost ~]# mkdir /mnt/cdrom

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/

[root@localhost ~]# cd /mnt/cdrom/Server/

[root@localhost Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm

[root@localhost Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm

[root@localhost Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm

[root@localhost Server]# cd /var/named/chroot/etc/

[root@localhost etc]# cp -p named.caching-nameserver.conf named.conf

image

[root@localhost etc]# vim named.rfc1912.zones

image

[root@localhost etc]# cd ../var/named/

[root@localhost named]# cp -p localhost.zone sina.com.db

[root@localhost named]# cp -p named.local 192.168.101.db

[root@localhost named]# vim sina.com.db

image

[root@localhost named]# vim 192.168.101.db      #区域的声明文件是101.168.192.in-addr.arpa与163.com的相同

image

[root@localhost named]# vim /etc/resolv.conf

image

[root@localhost named]# service named start

[root@localhost named]# chkconfig named on     #开机自动启动

[root@localhost ~]# init 6      #重启

搭建sendmail(邮件发送服务器):

[root@mail ~]# mount /dev/cdrom /mnt/cdrom/

[root@mail ~]# cd /mnt/cdrom/Server/

[root@localhost Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm #该软件包用于直接编辑sendmail.mc文件,不用编辑sendmail.cf文件

[root@mail Server]# cd /etc/mail

[root@mail mail]# vim sendmail.mc

image

[root@mail mail]# vim access

image

[root@mail mail]# vim local-host-names

image

[root@mail mail]# service sendmail restart

[root@mail mail]# chkconfig sendmail on

搭建dovecot服务器(邮件接收服务器):

[root@mail Server]# vim /etc/yum.repos.d/rhel-debuginfo.repo     #编辑本地yum

image 

[root@mail Server]# yum install dovecot -y

[root@mail Server]# service dovecot start

[root@mail Server]# chkconfig dovecot on     #开机启动dovecot

[root@mail Server]# useradd user3       #创建用户user3

[root@mail Server]# passwd user3

[root@mail Server]# useradd user4       #创建用户user4

[root@mail Server]# passwd user4

测试:使用windows xp主机自带的outlook express工具查看本地邮件服务器(sina.com)是否可用:(本地的user3用户向user4发送邮件)

xp主机的ip参数

image

点击:开始——》程序——》outlook express

使用同样的方法创建user4,这里不再创建

image

image

image

image

image

image

image

image

user3给user4发送邮件:

 image

image

image

user4向user3发送邮件:

image

image

image

测试成功!!!

现在测试163.com邮件服务器和sina.com邮件服务器能否进行邮件的转发:

配置windows server 2003作为163.com域的主机,xp主机作为sina.com域的主机

server 2003主机的ip参数:

image

xp 主机的ip参数:

image

在windows  server  2003上向xp发送邮件:

image

在xp主机上查看邮件接收情况:

image

在xp主机上向server 2003主机发送邮件:

image

在server 2003上查看邮件接收情况:

image 

测试成功!!!!!!

附:

上个案例中两台邮件服务器是处于同一网段中,一般两台邮件服务器很少处于同一网段中。如果要模拟两个不在同一网段中的邮件服务器(假设163.com邮件服务器的ip地址不变sina.com服务器地址为192.168.100.10),拓扑不用变动,只需在两个邮件服务器上做如下修改即可:

163.com域:

[root@mail ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0

[root@mail ~]# route add default gw 192.168.100.10

sina.com域:

[root@mail ~]# route add -net 192.168.101.0 netmask 255.255.255.0 dev eth0

[root@mail ~]# route add default gw 192.168.101.66

 










本文转自 liuyatao666 51CTO博客,原文链接:http://blog.51cto.com/5503845/986870,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
企业SSL证书怎么申请
  如今网站部署SSL证书进行网站数据信息加密,将http升级为https已经成为一种趋势。传统的http文明传输模式已经不能在满足我们的需求,而且存在一定的安全隐患。特别对于企业型网站以及银行等在线交易等网站,部署SSL证书必不可缺少。
2050 0
【原创】sendmail不发送短信故障
十一之前搭建的nagios监控系统不知道最近怎么不自动发送短信通知了? 查看/var/log/maillog输出:这里我只截取一小段内容: Nov 21 10:30:52 slave3 sendmail[11829]: qAL2Uq8o011829: to=13601298217@139.
802 0
LPS在无人机数据处理中的应用
http://blog.sina.com.cn/s/blog_77805ef60100pgip.html   无人机(UAV)遥感是航空遥感的一种重要方式,并且日益成为一项空间数据获取的重要手段,其具有续航时间长、影像实时传输、高危地区探测、成本低、机动灵活等优点,是卫星遥感与有人机航空遥感的有力补充。
910 0
+关注
20376
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载