mirror of
https://github.com/Dichgrem/Blog.git
synced 2025-08-01 17:29:31 -04:00
update:all
This commit is contained in:
@ -103,7 +103,7 @@
|
||||
|
||||
<div class="post">
|
||||
|
||||
<h1 class="post-title"><a href="https://blog.dich.bid/network-how-email-works-1/">电子邮件是如何工作的:SPF/DKIM/DMARC</a></h1>
|
||||
<h1 class="post-title"><a href="https://blog.dich.bid/network-how-email-works-1/">网络艺术:电子邮件的工作原理</a></h1>
|
||||
<div class="post-meta-inline">
|
||||
|
||||
<span class="post-date">
|
||||
@ -115,7 +115,7 @@
|
||||
|
||||
<span class="post-tags-inline">
|
||||
:: tags:
|
||||
<a class="post-tag" href="https://blog.dich.bid/tags/wang-luo-yi-shu/">#网络艺术</a></span>
|
||||
<a class="post-tag" href="https://blog.dich.bid/tags/network/">#Network</a></span>
|
||||
|
||||
|
||||
<div class="post-content">
|
||||
@ -212,6 +212,122 @@
|
||||
<p>而现在的邮件服务给用户展示的发件人都是 From 字段,而不是 SPF 的 <code>Return-Path</code>,也不是 DKIM 的 <code>DKIM-Sginatur: d=</code>,所以攻击者可以通过伪造这两个字段,发送如上的邮件,完美通过 SPF 和 DKIM 检查,因为 SPF 检查 <code>Return-Path</code> 而 DKIM 验证的 <code>d=</code> 也是 <code>fake.com</code> 所以最终用户看到的发件人却是 <code>admin@q.com</code>。</p>
|
||||
<p>所以就诞生了 DMARC。DMARC 结合了 SPF 和 DKIM,规定了 <code>Return-Path</code> 和 <code>DKIM-Signature: d=</code> 两个至少需要有一个与 From 头对应,否则判定为失败。</p>
|
||||
<p>当邮件服务器接收到邮件时,先验证 DKIM,SPF,然后再根据 DMARC 的配置检查。这样就能确保最终用户看到的 <code>From</code> 字段和 SPF、DKIM 认证的发件人一致了。</p>
|
||||
<h2 id="si-qi-ta-xie-yi">四.其他协议</h2>
|
||||
<p>POP3、IMAP 和 SMTP 是用于电子邮件传输的常见协议和服务,这些协议共同构成了电子邮件系统的基础,允许用户接收、发送和管理电子邮件。</p>
|
||||
<ol>
|
||||
<li><strong>POP3(邮局协议版本3)</strong>:POP3 是一种用于接收电子邮件的协议。当你使用 POP3 时,电子邮件会从服务器下载到你的设备上,并且通常会从服务器上删除。这意味着邮件只存在于你的设备上,而不再保留在服务器上。POP3 通常用于单一设备或者设备上少量的邮件存储需求。</li>
|
||||
<li><strong>IMAP(互联网邮件访问协议)</strong>:IMAP 也是一种用于接收电子邮件的协议,但它与 POP3 不同的是,IMAP 允许邮件保留在服务器上,并且同步到多个设备上。这意味着无论你使用哪个设备访问邮件,都能看到同样的邮件状态,包括已读、未读、已删除等。IMAP 适用于需要在多个设备之间同步邮件的情况,例如在手机、平板电脑和台式电脑之间。</li>
|
||||
<li><strong>SMTP(简单邮件传输协议)</strong>:SMTP 是用于发送电子邮件的协议。当你发送一封电子邮件时,你的邮件客户端会使用 SMTP 协议将邮件发送到电子邮件服务器。SMTP 负责将邮件从发送者的电子邮件客户端传送到接收者的邮件服务器。SMTP 是一个推送协议,它将邮件推送给服务器,而不是拉取邮件。</li>
|
||||
</ol>
|
||||
<p>这是每个协议的简要技术原理:</p>
|
||||
<h3 id="pop3-you-ju-xie-yi-ban-ben-3"><strong>POP3(邮局协议版本3)</strong></h3>
|
||||
<ul>
|
||||
<li>客户端连接到邮件服务器上的 POP3 端口(通常是 110 端口)。</li>
|
||||
<li>客户端发送身份验证信息(通常是用户名和密码)以登录到邮箱。</li>
|
||||
<li>一旦登录成功,客户端可以请求收件箱中的邮件列表。</li>
|
||||
<li>客户端可以选择下载邮件到本地设备。</li>
|
||||
<li>下载的邮件通常从服务器上删除,但可以根据设置保留一份副本。</li>
|
||||
<li>客户端可以选择在下载后删除邮件,或者在稍后删除它们。</li>
|
||||
</ul>
|
||||
<h3 id="imap-hu-lian-wang-you-jian-fang-wen-xie-yi"><strong>IMAP(互联网邮件访问协议)</strong>:</h3>
|
||||
<ul>
|
||||
<li>客户端连接到邮件服务器上的 IMAP 端口(通常是 143 端口)。</li>
|
||||
<li>客户端发送身份验证信息(通常是用户名和密码)以登录到邮箱。</li>
|
||||
<li>一旦登录成功,客户端可以请求收件箱中的邮件列表,以及邮件的状态信息(如已读、未读、已删除等)。</li>
|
||||
<li>客户端可以选择下载完整的邮件或邮件的部分内容到本地设备,同时保留邮件在服务器上的副本。</li>
|
||||
<li>客户端对邮件的操作(如标记为已读、移动到文件夹等)将反映在服务器上,从而在其他设备上同步。</li>
|
||||
</ul>
|
||||
<h3 id="smtp-jian-dan-you-jian-chuan-shu-xie-yi"><strong>SMTP(简单邮件传输协议)</strong>:</h3>
|
||||
<ul>
|
||||
<li>客户端连接到邮件服务器上的 SMTP 端口(通常是 25 端口)。</li>
|
||||
<li>客户端发送邮件内容和邮件头信息(如发件人、收件人、主题等)给服务器。</li>
|
||||
<li>服务器接受邮件,并将其转发到接收者的邮件服务器。</li>
|
||||
<li>接收者的邮件服务器接收邮件,并将其存储在相应的收件人邮箱中。</li>
|
||||
<li>SMTP 是一个简单的推送协议,它负责将邮件从发送方传送到接收方,但不涉及接收方对邮件的确认或响应。</li>
|
||||
</ul>
|
||||
<h3 id="ta-men-de-qu-bie-he-gong-tong-dian"><strong>它们的区别和共同点:</strong></h3>
|
||||
<p><strong>区别:</strong></p>
|
||||
<p><strong>功能:</strong></p>
|
||||
<ul>
|
||||
<li>POP3 主要用于从邮件服务器上下载邮件到本地设备,通常会将邮件从服务器上删除。</li>
|
||||
<li>IMAP 允许用户在多个设备之间同步邮件状态,并且邮件保留在服务器上。</li>
|
||||
<li>SMTP 用于发送电子邮件。</li>
|
||||
</ul>
|
||||
<p><strong>邮件管理:</strong></p>
|
||||
<ul>
|
||||
<li>POP3 在客户端下载邮件后通常会将邮件从服务器上删除,因此邮件只存在于本地设备上。</li>
|
||||
<li>IMAP 允许邮件在多个设备之间同步,因为邮件保留在服务器上。</li>
|
||||
<li>SMTP 不管理邮件存储,它只是负责将邮件从发送方传送到接收方。</li>
|
||||
</ul>
|
||||
<p><strong>端口号:</strong></p>
|
||||
<ul>
|
||||
<li>POP3 默认端口号是 110。</li>
|
||||
<li>IMAP 默认端口号是 143。</li>
|
||||
<li>SMTP 默认端口号是 25。</li>
|
||||
</ul>
|
||||
<p><strong>操作方式:</strong></p>
|
||||
<ul>
|
||||
<li>POP3 是拉取协议,客户端需要主动连接到服务器并拉取邮件。</li>
|
||||
<li>IMAP 是双向同步协议,客户端与服务器之间进行交互,可以同步邮件状态。</li>
|
||||
<li>SMTP 是推送协议,用于将邮件从发送方传送到接收方。</li>
|
||||
</ul>
|
||||
<p><strong>共同点:</strong></p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><strong>用途:</strong>:它们都是用于电子邮件传输的标准协议。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>与邮件服务器的通信:</strong>:它们都涉及客户端与邮件服务器之间的通信。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>身份验证:</strong>:它们都需要用户身份验证来访问邮箱。</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="yi-ci-wan-zheng-de-you-jian-tong-xin-guo-cheng"><strong>一次完整的邮件通信过程</strong></h3>
|
||||
<p><strong>发送方(发件人):</strong></p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><strong>撰写邮件:</strong> 发件人使用邮件客户端(如Outlook、Gmail等)撰写邮件,并填写收件人的电子邮件地址、主题和邮件内容。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>SPF 检查:</strong> 发送邮件服务器可能会执行 SPF(Sender Policy Framework)检查。它查询发件人域名的 DNS 记录,以确认发送邮件的服务器是否被授权发送邮件。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>DKIM 签名:</strong> 发送邮件服务器对邮件进行 DKIM(DomainKeys Identified Mail)签名。它使用发件人域名的私钥对邮件进行加密签名,以确保邮件内容在传输过程中不被篡改。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>SMTP 发送邮件:</strong> 发送邮件服务器使用 SMTP(简单邮件传输协议)将邮件发送到接收邮件服务器。SMTP 服务器与接收邮件服务器之间建立连接,并通过指定的端口(通常是 25 端口)传输邮件。</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p><strong>接收方(收件人):</strong></p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><strong>SMTP 接收邮件:</strong> 接收邮件服务器接收到发送方发送的邮件。SMTP 协议负责将邮件从发送方传输到接收方。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>SPF 验证:</strong> 接收邮件服务器执行 SPF 验证,检查发送方服务器的 IP 地址是否在发件人域名的 SPF 记录中被授权发送邮件。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>DKIM 验证:</strong> 接收邮件服务器对收到的邮件执行 DKIM 验证。它使用发件人域名的公钥来验证邮件的 DKIM 签名,以确保邮件内容的完整性和真实性。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>DMARC 检查:</strong> 如果接收邮件服务器支持 DMARC(Domain-based Message Authentication, Reporting, and Conformance),它会执行 DMARC 检查。DMARC 结合了 SPF 和 DKIM,允许域名所有者指定如何处理未通过验证的邮件。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>投递邮件到邮箱:</strong> 如果邮件通过了所有的验证步骤,并且没有被识别为垃圾邮件,接收邮件服务器将把邮件投递到收件人的邮箱中。</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p><strong>邮件获取(收件人):</strong></p>
|
||||
<ul>
|
||||
<li>
|
||||
<p><strong>POP3 获取邮件(可选):</strong> 收件人可以使用 POP3(邮局协议版本3)从邮件服务器上下载邮件到本地设备。POP3 客户端通过指定的端口(通常是 110 端口)连接到邮件服务器,并下载邮件到本地设备上。根据设置,邮件可能会从服务器上删除。</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>IMAP 获取邮件(可选):</strong> 收件人可以使用 IMAP(互联网邮件访问协议)从邮件服务器上获取邮件。IMAP 允许邮件保留在服务器上,并且在多个设备之间同步邮件状态。IMAP 客户端通过指定的端口(通常是 143 端口)连接到邮件服务器,并获取邮件列表和邮件内容。</p>
|
||||
</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<p><strong>Done.</strong></p>
|
||||
|
||||
</div>
|
||||
|
||||
@ -225,14 +341,14 @@
|
||||
<span class="button previous">
|
||||
<a href="https://blog.dich.bid/network-cdn/">
|
||||
<span class="button__icon">←</span>
|
||||
<span class="button__text">Network的艺术:CDN技术与应用</span>
|
||||
<span class="button__text">网络艺术:CDN技术与应用</span>
|
||||
</a>
|
||||
</span>
|
||||
|
||||
|
||||
<span class="button next">
|
||||
<a href="https://blog.dich.bid/network-how-email-works-2/">
|
||||
<span class="button__text">电子邮件是如何工作的:POP3/IMAP/SMTP</span>
|
||||
<a href="https://blog.dich.bid/network-how-email-works-3/">
|
||||
<span class="button__text">网络艺术:自建域名邮箱</span>
|
||||
<span class="button__icon">→</span>
|
||||
</a>
|
||||
</span>
|
||||
|
Reference in New Issue
Block a user