当前位置 : 主页 > 大数据 > 区块链 >

电子邮件 – 什么是MTA?

来源:互联网 收集:自由互联 发布时间:2021-06-22
这个 question让我想起了,我现在意识到,我不了解MTA内部的任何内容. 什么是MTA呢? SMTP协议之后的一切似乎对我来说都是黑魔法.假设我想编写一个简单的MTA(或MDA)只是为了发送电子邮件
这个 question让我想起了,我现在意识到,我不了解MTA内部的任何内容.

什么是MTA呢? SMTP协议之后的一切似乎对我来说都是黑魔法.假设我想编写一个简单的MTA(或MDA)只是为了发送电子邮件,我需要学习/做什么?

编辑:我实际上并不打算写一本MTA,我只想了解它在内部的工作.

—编辑以某种方式注意到你谈到可能写一个MTA —

要编写MTA,您需要打开一个服务器套接字.当有人连接时,您需要根据SMTP协议发送和接收该套接字上的文本(ascii)数据. SMTP非常聊天,所以你可以期待几轮的沟通.

初次通讯通常会告诉您SMTP是否受支持,或是支持ESMTP.第二(可选)通信是确定安全/加密/功能支持.最终,“客户”端将要求向特定地址/地址集发送消息.完成后,服务器将指示已准备好获取电子邮件的正文.当消息的正文(以及它的选择性附件)全部被传输时,MTA会告诉你收到的消息是否正确.在那个时间点,MTA将作为通过DNS MX记录发现的其他MTA的客户端,使您的电子邮件更接近目标MTA,将其复制到某人的收件箱.

因此,需要一个MTA,因为客户端的邮件传递相当于将一封物理信递交给邮局.邮局负责邮局间路由(与MTA到MTA传输相同).目的地邮局然后负责将信件传送到邮政信箱或家庭住址(与计算机收件箱相同).

他们不把它称为电子邮件.

—原帖后跟—
MTA将接受一封邮件,看看它是否可以转发或传送它,如果可以转发或传送它,然后转发或传递它,如果它表示可以的话.

消息如何更接近它的最终目的地通常与DNS有关. DNS中的MX(邮件交换)记录表示对特定电子邮件域名负责(或至少更接近负责的服务器)的服务器.不了解DNS如何工作,无法完全了解电子邮件如何更接近目的地.

MTA通常查看发货地址,也可以配置为电子邮件地址邮件域的“终点”,或者知道服务器XYZ距离电子邮件地址的邮件域更近一点.如果它是一个端点,它将把消息从电线复制到某人的收件箱.如果是中继,它会将消息“转发”到下一个MTA.

网友评论