Dns “怎么说?”;以“发送邮件”;Gmail的功能工作(技术层面)?

Dns “怎么说?”;以“发送邮件”;Gmail的功能工作(技术层面)?,dns,smtp,gmail,spam,Dns,Smtp,Gmail,Spam,我没有任何技术问题,但出于好奇,我想回答一个问题 以下是我目前对电子邮件工作原理的理解: 拥有您自己的域的特权之一是,您可以将其连接到IMAP/POP3/SMTP服务器,并使用它们向和从“”发送和接收邮件anyone@yourdomain.com". 然而,由于垃圾邮件是这样一个问题,您用来发送邮件的SMTP服务器必须在您发送的每封邮件中添加一组标题(DKIM、SPF等),以证明SMTP服务器有权从该域发送电子邮件。接收SMTP服务器可以使用它找到的DNS记录交叉检查这些标头,以验证电子邮件的合

我没有任何技术问题,但出于好奇,我想回答一个问题

以下是我目前对电子邮件工作原理的理解:

拥有您自己的域的特权之一是,您可以将其连接到IMAP/POP3/SMTP服务器,并使用它们向和从“”发送和接收邮件anyone@yourdomain.com". 然而,由于垃圾邮件是这样一个问题,您用来发送邮件的SMTP服务器必须在您发送的每封邮件中添加一组标题(DKIM、SPF等),以证明SMTP服务器有权从该域发送电子邮件。接收SMTP服务器可以使用它找到的DNS记录交叉检查这些标头,以验证电子邮件的合法性

所以,如果你想用你的域名便宜地发送电子邮件,你可以使用Gmail的“发送邮件为”功能。我按照这篇帮助文章的内容进行操作:

注意:我在安装过程中取消选中了“作为别名处理”选项

但是等等。。。不需要额外的DNS配置?我已经在Cloudflare上注册了我的域名,里面没有与Google相关的条目

设置过程中有以下步骤:


但这似乎只是为了防止你使用谷歌的服务器发送垃圾邮件是什么阻止谷歌冒充他们想要的任何电子邮件地址?为什么接收SMTP服务器信任来自“”的电子邮件anyone@yourdomain.com“如果谷歌的SMTP服务器无法添加合法的SPF/DKIM头?

简单的回答是,没有任何东西阻止谷歌这样做,这正是针对这种情况创建的


没有什么能阻止谷歌模仿任何域名。但是,当接收者收到一封不是从
from:
字段中指定的服务器发送的电子邮件时,他们可以(也应该)做一些事情

尝试从您刚刚添加到另一个
@gmail.com
收件箱的别名发送电子邮件。你会看到它在发件人电子邮件地址后面写着via gmail.com。但其他电子邮件接收者可能会做得更多:用红色感叹号和诈骗警告标记此邮件,将其放入垃圾邮件,甚至完全拒绝接收。Gmail可能有一些硬编码的信任,但是尝试从您自己的SMTP服务器上执行此操作,很可能会发生上述情况

正如您在问题中所说,您可以通过将
gmail.com
标记为授权发件人来授权您的电子邮件(这可以防止来自其他域的伪造,但不会阻止谷歌),甚至可以在您的电子邮件上签名(这在Gmail用户界面上是不可能的,但是你可以在一些电子邮件客户端上完成,或者用自定义的Python脚本发送电子邮件;谷歌在不知道密钥的情况下无法完成这项工作)

然而,这只解决了问题的一个方面——授权合法的电子邮件。但是,如果SMTP服务器仍然收到未经验证的电子邮件呢?如果他们以前收到过来自同一发件人并由DKIM签名的电子邮件呢?如果DKIM通过,但SPF失败呢


因为这种情况下的行为基本上是未指定的,而且发送方希望检查他们的DKIM/SPF授权是否实际有效,如果有人试图欺骗他们,则创建了另一个标准:DMARC。它引入了另一个DNS TXT记录,您可以在其中说明需要通过哪些检查,如果失败怎么办,以及还有,接收者应该向域名所有者报告哪些基本分析。

您提到gmail可能对自己有一些硬编码的信任(有道理),但其他电子邮件提供商呢?你是说任何接收gmail电子邮件的电子邮件服务器都必须天生信任gmail,并接受它可以使用任何域吗?我的意思也是第二部分——其他人可以给gmail服务器更高的信任分数我是他们的欺诈检测算法。但这只是我个人的想法他们肯定不必“天生信任Gmail”——如果有人声明了需要DKIM签名的DMARC策略,接收服务器就不能接受它,“因为Gmail是受信任的”(即使它可能实际上是一个授权的发送者,只是忘记了自己的策略)