Aug 22

[原]邮件服务的基础概念 不指定

linuxing , 15:00 , 网络服务 » 邮件系统 , 评论(1) , 引用(0) , 阅读(28300) , Via 本站原创 | |
   为了方面后续的说明,让我们来仔细看看邮件服务的整个流程,以及一些基础的概念。
一、基础概念
邮件服务是现在互联网应用中的关键服务,但由于存在各种各样的垃圾邮件、病毒邮件等问题。所以也成为了一个比较危险的服务之一。但只要做好正确的安全配置,其还是可以为我们带来比较好的效果的。
邮件传输中,需要涉及几个方面的内容:
1、DNS服务器
Email的格式为:
引用
帐号@服务器FQDN名称

所以,不可避免的会接触到DNS的问题。其中,服务器FQDN名称就是由DNS来确定的。无论是服务器或客户端都必须能正确的识别到对方的FQDN名称,以便把邮件投递到对方的服务器中。
如果您的邮件服务器只是在内部使用的,则DNS可以使用内部服务器。若是提供到互联网服务的,则必须是在合法的DNS服务器上登记过的主机和域名。例如:linuxfly.org等。
这是一个为内网服务,本地DNS服务器的示范:
/etc/named.conf
引用

zone "linuxfly.org" IN {
       type master;
       file "linuxfly.org.dns";
};

DNS记录包括:
/var/named/linuxfly.org.dns
引用
$TTL 1d
@       1d      IN      SOA     ns.linuxfly.org. root.linuxfly.org. (
                                       1
                                       1h
                                       10m
    1d
    1h )
@ 1d IN NS ns.linuxfly.org.
mail 86400 IN A 192.168.218.100
bbs 86400 IN A 192.168.218.100
www 86400 IN A 192.168.218.100
@ 86400 IN MX 10 bbs
@ 86400 IN A 192.168.218.100

简单分析有几部分:
引用
1、域名是linuxfly.org,A指向192.168.218.100;
2、有三个主机名称,也是指向192.168.218.100;
3、MX记录指向bbs主机名,@表示本机;

邮件传递的时候,则根据上述DNS配置进行:
引用
1、如果设置了多级MX服务器,则MX标记最低者优先,逐步往上发送邮件;
2、如果MX服务器都失败,则由域名的A记录接受,否则弹回原发送人;
3、其中一服务器接收了邮件,即不会继续发送;
4、请注意,MX设置的服务器必须为该主机提供relay功能,否则服务器会弹回该主机的邮件。

※关于DNS反解:
本来只需要提供正解即可发送邮件,但对于互联网上的邮件服务商来说,特别是国外的hotmail、gmail邮箱等。其防垃圾功能都会判断MX记录和DNS反解。所以,对于在互联网上提供邮件服务的话,还是必须向ISP申请对您的IP和域设置反解(自己做不到的)。
还有就是,通常像我们这种,使用ADSL动态IP的话,其反解是类似xxx.dynamic.xxx的域名,是通不过相关的防垃圾机制的。当然,只是为内部使用,就没有这个问题咯。这个请特别留意。
2、邮件传输需要的元件
一封邮件要完成整个传输过程,需要涉及很多服务。以一个比较简单的过程为例:
点击在新窗口中浏览此图片
(截图来自linux.vbird.org)
引用
1、MUA(Mail User Agent):
就是客户端上的邮件发送软件,例如linux下的mail、Thunderbird等,Windows下的Foxmail、Outlook等,其提供邮件编译,并投递到邮件服务器的功能;
2、MTA (Mail Transfer Agent):
邮件投递由它负责,提供如下的功能:
◎收受信件:使用简单邮件传送协议(SMTP)
MTA 主机最主要的功能就是:将来自客户端或者是其它 MTA 的来信收下来,这个时候 MTA 使用的是 Simple Mail Transfer Protocol (SMTP),他使用的是25端口!
◎转递信件:
如果该封信件的目的地并不是本身的用户,且该封信的相关数据符合使用 MTA 的权力, 那么 MTA 就会将该封信再传送到下一部主机上。这即是所谓的转递 (Relay) 的功能。
◎响应使用者的收信要求:POP 或 IMAP 协定
使用者可以透过 MTA 主机提供的邮政服务协议 (Post Office Protocol, POP) 来收下自己的信件, 也可以透过 IMAP (Internet Message Access Protocol) 协议将自己的信件保留在邮件主机上面, 并进一步建立邮件数据匣等进阶工作。
其中,在我们这里收受邮件、转递由postfix负责,响应收信要求,由dovecot负责。
3、MDA (Mail Delivery Agent):
这个 MDA 是挂在 MTA 底下的一个小程序, 最主要的功能就是:分析由 MTA 所收到的信件表头或内容等数据, 来决定这封邮件的去向。而通常在postfix里面,MDA是自带的,不过,为了补充其功能,也可以使用外挂的软件,例如amavisd-new、Mailscan等都是这样,其就是增加了垃圾邮件、病毒过滤等功能。

※邮件传输的原理很简单,就和平时日常中邮件的投递方式相同。复杂在于为了防止Relay、垃圾邮件、病毒邮件等造成麻烦所做的配置。遇到问题,逐步排查,不难处理。
Tags: , , ,
test
2008/11/05 15:53
2、如果MX服务器都失败,则由域名的A记录接受,否则弹回原发送人;  
这一句不明白,这里的a记录接受,是指哪个a记录?  smtp.xxx.com  ?
linuxing 回复于 2008/11/06 09:02
看看DNS的配置吧,域名可以有自己的A记录信息的,并不是smtp.xxx.com的A记录哦。
而是xxx.com的A记录。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]