关于邮件的那点事

三种邮件协议

SMTP

即“Simple Mail Transfer Protocol”,简单邮件传输协议。它是用于从源地址到目标地址传输邮件的规范。通过该协议来控制邮件的中转。而我们常用的邮件供应商所提供的邮件服务,基本都是采用的SMTP协议进行传输。要注意的是SMTP协议并没有要求了客户端连接服务器需要进行认证,而ESMTP (Extended SMTP)会要求用户提供用户名和密码以便验证身份。但是它也仅仅只要求了客户端需要与服务端进行认证,服务器之间传输邮件的过程是不需要进行认证的。(发送、中转邮件

POP3

即“Post Office Protocol - Version 3”,邮局协议版本3。主要用于支持使用客户端远程管理在服务器上的电子邮件。(接收邮件

IMAP

即“Internet Mail Access Protocol”,网际消息访问协议。它不同于POP3,POP3协议并不会将客户端对邮件进行的操作同步至服务器。当使用IMAP协议与邮件服务器交互的时候,你在客户端对邮件进行的操作都会同步到服务器上,所以IMAP也叫做交互式邮件存取协议。(接收、管理邮件

POP3和IMAP的区别:

  1. IMAP提供Webmail与电子邮件客户端之间的双向通信,客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上;而POP3在客户端的操作不会反馈到服务器上。
  2. POP3需要下载未阅读的邮件,IMAP可以不用把所有的邮件全部下载,而是通过客户端直接对服务器上的邮件进行操作。

一般邮件客户端使用POP3,浏览器使用IMAPIMAP协议更优

常见邮件端口

端口 协议 备注
25 SMTP
465 SMTPS(SMTP SSL)
587 SMTP-MSA(Message submission agent) 接受来自电子邮件客户端(MUA)的电子邮件提交
109 POP2 已淘汰
110 POP3
143 IMAP
993 IMAPS(IMAP SSL)
995 POP3(POP3 SSL)

邮件的基础信息

大部分邮箱都有可以查看邮件原文

163邮箱:

image-20220424144936243

QQ邮箱:

image-20220424145047436

邮件原文如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Received: from mail-m975.mail.163.com (mail-m975.mail.163.com [123.126.97.5])
by newxmmxszb58.qq.com (NewMX) with SMTP id 4341FA5A
for <test@qq.com>; Mon, 24 Apr 2021 14:16:52 +0800
X-QQ-mid: xmmxszb58t1650561012tfafucpdm
X-QQ-XMAILINFO: 1NEeXPJF8oqVglPRWfD+IaWZM3KAzHEIgcKYKTwZjH0D3X2ette++rR9aITd4eQ8yDI
nqZC4OWwLpkDnxga4ogEZQhoDB6bJwSxUt39/ENfSD96hPhfSTN7EZDWstEVzXMoZ2hAdHWjQzHx
ckYexp240u9jS7NPp9TD5RwMrur0wf+duSqz6l+mYLVlIhFOWXSQM4H0f/l4oJlKdfTv6UJTCNoH
9D2qEUKhQWEcwKqU1MNxz/LAtP066xOyOjO7lgLi3i13mun7I6FN5XMNxlzyZ1MaGK+apacc5n7Lb
ZQNEpGDQlPJRrm/hkkHuw8p6OBnWfdn7JOLPawwo6G4MTtTVr0KrAUJfnVEwYlwefMuaUP9bDl9a
OmK63/LWVHWYHIcHbYRjO5jrHCidRakp9Y3L//QYelwCMnHcBGsBlaQmtCHpXqypD4lwmCy9DV
1N6ZHGho7QMrZwukOivZJaduRE+GxjKNcPgnndzZ1JxXk2SOY3uDe6E4cAt35lP8oXZlsY/WmqEk
JyyxnQ+ae0TNsnimf5XNvgf7nNKh3QBpPNAqcpcX/ZyfKN2a0ilv9dYIDdDK+fvn2s3S7yU56Kg
d2i/oqpuKGhMcjc1dtfGsPUBbJPeZ4s4n0Uulk13JQ8/I9eQYnX8pfTKKQtOU58YDCdsB1ldK
Lf69wz9eZkOCmdblg7CiKWBYyEP3KH3M3rn5CMV3nUBkzAa9HeD8K/nhzy22W6b7VvPpoerPQZlz
mkalKUtE0Vehm3mRjaPxFS76wltuS+rZDNZdCGCsq87EGAx3rufnU/VUGnstEGAXaEkRVQQNvYlR
t4dLhAPmyloPkRVrfm2phqcMX1sinOCYsdbGly104lAmuAYvcwjlj2OjKcdnuImHHvZvn/9c6k7o
7XsYqUau4PE2iBXFQiW6XWB8grGkrhfZA08UmCOfcX+K8b6yF4duYz2NwlClRSLJMmOwxeLJowwt
Ar8mrXQqSc2qT4q96fd2lJ9FeFglMUr4Ks8wfwg2o=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
s=s110527; h=from:subject:Message-Id:Date; bh=47DEQpj8HBSa+/TImW
+5JCeuQeRkm5NMpJWZG3hSuFU=; b=Kn0WpC2fucvFEITjTBzH0DMH/w3ZnZW/GO
gAL2NJ5irkDwC38UJSmLy5dcL2rBz4end0AI0tExHAdyH+nSOwad5EzbLC5z6/zL
y2jlOxNKoviahCyJX1SZkx7ojGSKXWxDoAEGWjzTAj3PhdEaXvO4Ky3pprqlmqAk
XHM2Yj9ec=
Received: from 163 (unknown [125.133.194.12])
by smtp5 (Coremail) with SMTP id WHdxpCgAHrJEg66Rix6upg--.2754752;
Mon, 24 Apr 2021 14:16:30 +0800 (CST)
from: <test@163.com>
to: <test@qq.com>
subject: this is a subject
123
X-CM-TRANSID:HdxpCgddAHVJEg62Rix6upCg--.27507S2
Message-Id:<626413243B51.B4E4C.1381@mail-m975.mail.163.com>
X-Coremail-Antispam: 1Uf129KBjeUn29KB7ZKAUJUUUUU529EdanIcx71UUUUU7v73
VFW2AGmfu7123jm3AaLaJ3U3IYCTnIWIevJa73UjIFyTuYv333Dg18DUUUU
X-Originating-IP: [125.133.194.12]
Date: Mon, 24 Apr 2021 14:16:51 +0800 (CST)
X-CM-SenderInfo: xdqr05tpbxqidywtou0bp/xtbBrRLsU175e3K11gAAsi

使用telnet发送邮件

屏幕截图 2022-04-24 141829

常见邮件属性

1
2
3
4
5
6
7
8
9
Mail From:                 #发件人,一般在收件人方不显示
Rcpt to: #收件人,一般在收件人方不显示
Received: #表示路由信息,记录了邮件传递过程
Sender: #代发用户
DKIM-Signature: #DKIM签名
From: #data中的发件人
To: #data中的收件人
Subject: #主题
Authentication-Results: #认证结果

一般情况下Mail From一定为登陆的邮箱账户,各个邮件服务商都会检验;Rcpt to为邮件的真实收件人。

From和TO是DATA中的数据,可以修改,但是正规邮件服务商(例如163等)会对From进行校验。

常用的邮件伪造工具Swaks(Kali自带)

在线:https://emkei.cz/

邮箱的验证机制

SPF

即“Sender Policy Framework”,发送方策略框架。是一种以IP地址认证电子邮件发件人身份的技术,是非常高效的垃圾邮件解决方案。相对于其他两种验证方式,SPF验证在邮箱分辨垃圾邮件的权重最高发件人伪造主要是如何绕过SPF记录

接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。

image-20220424151500716

DKIM

即“DomainKeys Identified Mail”,域名密钥识别邮件标准。

邮件发送服务器会为发出的每一封邮件添加数字签名,接收服务器会请求DKIM域名下的公钥,通过该公钥来验证邮件是否真实,以及在传输过程中是否被伪造或更改。

1
2
3
4
5
6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
s=s110527; h=from:subject:Message-Id:Date; bh=47DEQpj8HBSa+/TImW
+5JCeuQeRkm5NMpJWZG3hSuFU=; b=Kn0WpC2fucvFEITjTBzH0DMH/w3ZnZW/GO
gAL2NJ5irkDwC38UJSmLy5dcL2rBz4end0AI0tExHAdyH+nSOwad5EzbLC5z6/zL
y2jlOxNKoviahCyJX1SZkx7ojGSKXWxDoAEGWjzTAj3PhdEaXvO4Ky3pprqlmqAk
XHM2Yj9ec=

DMARC

即“ Domain-based Message Authentication, Reporting and Conformance”,基于域名的消息身份验证、报告和一致性。基于SPF和DKIM,检查SPF和DKIM是否通过,如果不通过时怎么做。

img

参考

https://www.freebuf.com/articles/network/327768.html

https://bbs.ichunqiu.com/thread-55388-1-1.html


关于邮件的那点事
http://wangchenchina.github.io/2022/04/24/关于邮件的那点事/
作者
Demo
发布于
2022年4月24日
许可协议