计算机网络 | 邮件传输协议

来源:互联网 发布:电脑锣编程是什么 编辑:程序博客网 时间:2024/05/22 10:33

邮件传输组件

一般我们将邮件传输中的组件称作 Mail Agent,根据功能的不同,它们包括了:

组件 作用 MUA 作为客户端程序,负责从服务器接收邮件,向服务器发送邮件。 MTA 将邮件发送给目的地址的邮件服务器(目的服务器上也有一个 MTA 来做接收)。一般提到的 Mail Server 就是 MTA。 MDA 根据 MTA 收取的邮件,决定邮件的去向(如果本机就是邮件的目的地址,则放入本地用户邮箱,如果不是,则继续转发)。还可以配置过滤垃圾邮件和自动回复等。 Mailbox 存储邮件数据。MDA 会将邮件放到不同用户的邮箱中。一般的,有 mbox、Maildir 和 dbmail 等存储格式。mbox 将所有邮件存放到一个文件中,弊端较多。Maildir 则将邮件存为单独的文件。 MRA 负责与 MUA 沟通。

协议

不同 Agent 之间的数据交通都依赖于协议,这些协议包括:

协议 用途 SMTP 端口 25,面向连接的传输协议。用于 MUA 向 MTA 发送邮件,以及 MTA 之间互相发送和接收邮件。严格来说,MTA 其实仅是指 SMTP。 POP3 离线协议,MUA 从 MRA 获取邮件使用这一协议。首先验证身份,将邮件传输到 MUA 后,用户 Mailbox 中的邮件会被删除。 IMAP 与 POP3 类似,用于从 MRA 收取邮件。不过 MUA 与 MRA 之间双向通信,客户端的改动会反映到服务器上。IMAP 整体上为用户带来更为便捷和可靠的体验,POP3 更易丢失邮件或多次下载相同的邮件,但 IMAP 通过邮件客户端与 webmail 之间的双向同步功能很好地避免了这些问题。

实例解释如下:

  • A登陆 PC 上得 Hotmail 的MUA,撰写邮件,MUA 使用 SMTP 将邮件发送给 B 的邮箱服务器。
  • B的邮箱服务器的MDA 检测邮件头信息,发现需要将邮件发送给 Gmail.com 邮箱服务器,于是交予 MTA 来做传输。
  • MTA 通过 Gmail.com 的 DNS 中 MX 记录,查找到邮箱服务器的 IP 地址(dig mx gmail.com),再向目的地中继转发这封邮件。
  • 到达目的 MTA 后,邮件被 MDA 送到 Mailbox 中。MRA 开始工作,供 MUA 收取邮件。
  • B 登陆 MUA,使用 POP3 或 IMAP 协议从 Gmail.com 的邮箱服务器 MRA 收取邮件。

原创粉丝点击