contents
下一主题: 电子邮件地址 上一层: 电子邮件 前一主题: 什么是邮件

邮件是如何投递的?

通常,您会使用邮件程序界面(如 mail 或 mailx)或更复杂的界面(如 elm、mush 或 pine)来撰写邮件。这些程序被称为邮件用户代理,简称 MUA。如果您发送邮件消息,界面程序在大多数情况下会将其交给另一个程序进行投递。这被称为邮件传输代理,简称 MTA。在某些系统中,本地和远程投递有不同的邮件传输代理;而在其他系统中,只有一个。用于远程投递的命令通常称为 rmail,另一个命令称为 lmail(如果存在)。

当然,本地邮件投递不仅仅是将传入的消息附加到收件人的邮箱中。通常,本地 MTA 会理解别名(设置指向其他地址的本地收件人地址)和转发(将用户的邮件重定向到其他目的地)。此外,无法投递的消息通常必须被退回,即连同一些错误消息一起返回给发送者。

对于远程投递,使用的传输软件取决于链路的性质。如果邮件必须通过使用 TCP/IP 的网络投递,则通常使用 SMTP。SMTP 代表简单邮件传输协议,并在 RFC-788 和 RFC-821 中定义。SMTP 通常直接连接到收件人的机器,与远程端的 SMTP 守护进程协商消息传输。

在 UUCP 网络中,邮件通常不会直接投递,而是通过多个中间系统转发到目标主机。要通过 UUCP 链路发送消息,发送 MTA 通常会在转发系统上使用 uux 执行 rmail,并将消息通过标准输入馈送给它。

由于这是针对每条消息单独完成的,因此可能会给主要的邮件枢纽带来相当大的工作负载,并使 UUCP 假脱机队列充斥着数百个占用不成比例磁盘空间的小文件。gif 因此,一些 MTA 允许您在单个批处理文件中收集发往远程系统的多条消息。批处理文件包含本地主机在使用直接 SMTP 连接时通常会发出的 SMTP 命令。这被称为 BSMTP,或批处理 SMTP。然后将批处理馈送到远程系统上的 rsmtp 或 bsmtp 程序,该程序将处理输入,就好像发生了正常的 SMTP 连接一样。


contents
下一主题: 电子邮件地址 上一层: 电子邮件 前一主题: 什么是邮件

Andrew Anderson
1996年3月7日星期四 23:22:06 EST