消息传输代理

使用 SMTP 將電子郵件訊息從一台電腦傳輸到另一台電腦的軟體

在互联网电子邮件系统中,消息传输代理(Message Transfer Agent,简称MTA)有时又称邮件传输代理(Mail Transfer Agent)邮件中继(Mail Relay)[1][2]。它是一种软件,该软件通过简单邮件传输协议将电子邮件信息从一台计算机传输到另一台计算机[3]。有时也可以将MTA称为邮件服务器(Mail Server)邮件交换器(Mail Exchanger)邮件交换宿主(MX host)。

网络交换的消息在邮件服务器之间传递,这也包括所有的附件(如图像、多媒体文件或电子文档等)。这些服务器通常还为电子邮件保留邮箱。最终用户通过网页邮件电子邮件客户端访问此邮件。

工作方式

MTA接收来自另一个MTA、邮件投递代理 (MSA), or a 邮件用户代理 (MUA)的邮件。具体的传输细节由 简单邮件传输协议 (SMTP)完成。 当邮件的收件者不位于本地时,该邮件将被中继,即转发到另一个MTA。每次MTA接收到电子邮件消息时,它都会在消息头的顶部添加一个Received跟踪头字段,从而构建顺序记录用于MTA处理消息。为下一跳选择目标MTA的过程也在SMTP中描述,但通常可以在MTA软件中配置特定路由来改写。

 

MTA的工作是在幕后的,而用户通常与邮件用户代理(Mail User Agent,简称MUA)直接交互。有时需要区分出借助邮件提交代理英语message submission agent(Mail Submission Agent,简称MSA)完成作为第一次尝试的初始化提交:端口587用于MUA和MSA之间的通信,而端口25用于MTA之间的通信、或MSA到MTA的通信;[4]RFC 2476首次做出了这种区分。

对于位于本地的收件人,则是由邮件传递代理英语message delivery agent(MDA)将电子邮件最终传递到收件人邮箱。为此,MTA将消息发送到MDA的邮件处理服务组件。在最终交付时,Return-Path字段被添加到信封中以记录返回路径

传输与访问

中继或过滤服务器通常只会短暂地存储电子邮件,但其他系统会为电子邮件保留完整的信箱——因此有一些方式支持终端用户通过MUA或电子邮件客户端访问电子邮件

这方面的常用协议有:

邮件客户端通过SMTP发送新邮件,通常使用587或465端口。现在这一行为通常被限制于仅向拥有账户(例如他们的ISP)的用户提供。这是政策上而不是技术上的原因,这样ISP就有办法让用户对[[垃圾邮件|滥发电子消息}或其他形式电子邮件滥用负责[5]


参考文献

  1. ^ MTA=Message Transfer Agent (similar to X.400 name) is found, e.g., in RFC 1506, RFC 2476, RFC 3461, RFC 3464, RFC 3865, RFC 3888, RFC 6409, RFC 5598.
  2. ^ MTA=Mail Transfer Agent (similar to Mail Transfer Protocol) is found, e.g., in RFC 2298, RFC 2305, RFC 3804, RFC 3798, RFC 4496, RFC 5442, RFC 5429.
  3. ^ RFC 5598, Internet Mail Architecture, D. Crocker (July 2009).
  4. ^ 参见电子邮件客户端#端口号
  5. ^ Bill Cole. What are the IPs that sends mail for a domain?. ASRG mailing list. 29 June 2009 [15 September 2009]. (原始内容存档于2018-01-28).