问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

电子邮件是怎么发送的?邮件系统基础知识大全

创作时间:
作者:
@小白创作中心

电子邮件是怎么发送的?邮件系统基础知识大全

引用
CSDN
1.
https://blog.csdn.net/2301_77043981/article/details/140871196

电子邮件是现代通讯的重要工具,但你是否了解一封邮件从发送到接收的具体过程?本文将带你深入了解邮件系统的基础知识,包括邮件发送流程、DNS解析、邮件编码、反垃圾邮件技术等多个方面。

1、邮件系统基础知识

1.1 电子邮件

电子邮件是怎么发送的?简单来说就是通过代理传输和转发,在协议规定下进行。

1.2 邮件的发送和接收

那真正电子邮件是怎么发送的呢?打个比方:

a的客户端要发送一份邮件,首先会向MTA打招呼一下(ehlo一下),说嘿,我要发邮件啦!接着MTA返回一个信息说,你是谁呀?(请你登录)。这时候a就要输入一个名字(用户名)响应。但是MTA又问,那我怎么确定你是不是本人呢?a这时候就说出了暗号(password)。MTA收到说,好的,请告诉我你需要发信给谁呀?a客户端就需要将自己的收信人告诉MTA。等自己要发送的信件人都讲完了,才会和MTA说,请你帮我转告他们可以吗。MTA响应后说,当然可以。这个时候,a客户端才会将信件的内容发送出去。还没结束,拜托了MTA办事,那也要有礼貌的告别(发送quit指令),MTA收到后才会与a客户端断开连接。

客户端从pop出接收邮件也是类似的,抓取属于自己的邮件。

2、DNS

2.1 DNS域名解释过程

  1. 递归查询:叫别人帮忙问(客户端只发一次请求,要求对方给出最终结果。)
  2. 迭代查询:一个个自己问(客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表)

2.2 常见的资源记录

关于邮件的要记得哦,尤其是MX记录和SPF记录。MX是用来定位,SPF用来识别真伪防诈骗

3、邮件编码和原文解析

3.1 常见邮件系统编码

因为协议规定只能传送US-ASCII格式的消息,我们需要使用到编码

常用的包括Base64、QP编码、Uuencode编码

①base64
②QP编码
③Uuencode
我认为是字符最乱的一个,详情请看其他博客

3.2 邮件原文解析

先识别邮件

邮件包含的内容,其实通过英文很容易看出

其中,信头中的received的记录,每经过一个mta会生成一个received的标记,标识邮件从哪里发出来被哪个服务器接收

4 反垃圾邮件技术

由于垃圾邮寄可能会通过各种方式进入我们的邮箱空间,所以我们要在邮件发送和传输的不同的阶段对其进行识别和拦截。

SMTP建立连接阶段-Mail from阶段-rcpt to阶段-data阶段

SMTP建立连接阶段(accept)

针对IP地址过滤

Blacklist,Whitelist
RBL(Real-time Blackhole Lists):实时黑名单
IP信誉检查
PTR (pointer record)
IP连接的频率控制:包括并发的连接数,一定时间内的连接数,验证失败的连接数

Mail from阶段

针对发件人和域名的过滤:
Blacklist,Whitelist
SPF (Sender Policy Framework)检查

rcpt to阶段

拒绝Open-relay
控制最大可发送数

data阶段

针对邮件内容的过滤:
容量大小的限制
关键字过滤
指纹特征过滤
针对附件过滤(附件内容,附件名称)灰名单技术(质询/响应)
GT智能判断
cac智能判断

5 加密技术

包括Crypt\md5\smd5\Gmd5\Sha1\Ssha
一般都会有前缀,或者可以根据算法特点进行推算

知识补充:

  1. MUA:Mail User Agent邮件用户代理,提供阅读,发送和接受电子邮件的用户接口
    MTA:Mail Transfer Agent邮件传输代理,负责邮件的储存和转发,
    MDA:Mail Deliver Agent 邮件投递代理 负责将要给本地用户的邮件投递到对应信箱
  2. 邮件系统:用户代理MUA-->输出队列Outgoing Queue-->报文传输代理message transfer agent -->邮箱mailbox;POP3协议能够让客户端程序提取驻留在服务器的邮件。用于电子邮件的接收。IMAP提供的摘要浏览功能,此前都保留在服务器中;SMTP协议:用于定义邮件传输的协议,基于TCP的应用层协议。
    SSL是传输加密
  3. 发送、抄送、暗送
    抄送与暗送的区别是是否让各个收件人查看到这封邮件还同时发给谁
    抄送:是指你发一封信的同时,再复制一份给你的另外的联系人。比如你发信给A,如果选择抄送给B,则B也会收到同样内容的信。但这样的话,A会知道你抄送了给B。
    密送,虽然AB都收到你发送的信息,但是A不知道B也收到,但是你会知道这个是给A的
    在代码层面的的区别就是信件的内容。收件人都是直接是账户,但是在信件内容上面会做一定处理(比如复制一份邮件的原文,指出/不指出抄送人)
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号