AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1010131
Accepted
Will Matheson
Will Matheson
Asked: 2020-03-31 10:44:14 +0800 CST2020-03-31 10:44:14 +0800 CST 2020-03-31 10:44:14 +0800 CST

如何将另一个发件人(例如 Sendgrid)列入 DMARC 的白名单?

  • 772

我们托管自己的电子邮件,但使用 Sendgrid 代表一些无法轻松处理我们的邮件配置的内部 PHP 服务发送邮件(例如,默认情况下它们不允许自签名证书,因此让它们连接到我们的服务器以发送诸如帐户激活电子邮件之类的东西是一个 PITA,就像不得不破解 CMS 的功能以传递一系列配置覆盖一样 - 对于少数电子邮件,我认为这很糟糕并且刚刚使用了 Sendgrid 的免费套餐)。

我能够设置我们的 SPF 以明确允许 Sendgrid 代表我们发送电子邮件:

ourdomain.com. IN TXT "v=spf1 mx a ip4:OUR.IP.GOES.HERE/32 include:sendgrid.net -all"

因此,我们发送的邮件和 Sendgrid 发送的邮件都有平行的路径来通过 SPF 和 DKIM。(我没有为自己做任何特殊的 DKIM 设置,但这是一个过程 - FWIW,这是我遵循的教程。)

但现在我想用 DMARC 结束所有内容,而 Sendgrid 电子邮件失败了,即使它们通过了 SPF 和 DKIM:

Authentication-Results: mx.google.com; dkim=pass [email protected] header.s=smtpapi header.b=eI2rawkZ; spf=pass (google.com: domain of [email protected] designates SENDGRID.IP.GOES.HERE as permitted sender) smtp.mailfrom="[email protected]"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ourdomain.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.net; h=from:subject:content-type:content-transfer-encoding:mime-version: x-feedback-id:to; s=smtpapi; bh=AZ+8LE7VkXTKxox/rLn7opOhEWv+baJWKr9E5fUOSKs=; b=eI2rawkZeMvtcJXThu7pufwbVPjRHa5xx46txJj0j9gNNDxNs68y8bcPlj1T9r7rxDK4 oi6e19GMvtdyttXR5WKjg2T+w0p5Ep3Ni6YRQhxq4ZsGcO0mZiRXyNf4BdZ3cOgLKXwECh dMSOaHyK0lR91Xp6eTnOYE7bT9hcRVrWA=

我们发送的电子邮件正在传递:

Authentication-Results: mx.google.com; dkim=pass [email protected] header.s=default header.b=fySBSueO; spf=pass (google.com: domain of [email protected] designates OUR.IP.GOES.HERE as permitted sender) [email protected]; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ourdomain.com

我们的 DMARC 记录是这样设置的:

_dmarc.ourdomain.com. 299 IN TXT "v=DMARC1\; p=none\; pct=100\; rua=mailto:[email protected]"

有没有办法可以调整我们的 DNS(或其他东西?)以允许 Sendgrid 电子邮件通过 DMARC 检查?然后我们可以安全地将推荐的“p”操作升级为“隔离”或“拒绝”。虽然,如果这不会严重损害我们的声誉,我很乐意将其保留为“无”。在我开始 SPF / DKIM / DMARC 之旅之前遇到的困难之后,把所有东西都整齐地捆绑起来真是太好了。

domain-name-system email authentication dmarc sendgrid
  • 2 2 个回答
  • 2969 Views

2 个回答

  • Voted
  1. Esa Jokinen
    2020-03-31T11:51:43+08:002020-03-31T11:51:43+08:00

    DKIM 签名与d=sendgrid.net信封发件人即Return-Path是[email protected]。由于 DKIM 和 SPF 验证都在使用sendgrid.com,它与您的域不对齐:这是DMARC 对齐的要求。

    幸运的是,Sendgrid 支持自定义DKIM 选择器和自定义返回路径的自定义域身份验证。

    虽然,如果这不会严重损害我们的声誉,我很乐意将其保留为“无”。 

    DMARC 不是为了获得更好的声誉。这是为了防止其他人在From标头中使用您的域,这可能会导致声誉不佳或更糟。

    • 2
  2. Best Answer
    Will Matheson
    2020-04-01T16:00:10+08:002020-04-01T16:00:10+08:00

    所以这绝对是专门针对 Sendgrid 的。流程将根据您尝试使用的特定第 3 方电子邮件发件人而有所不同。甚至 Sendgrid 也可能会更改其 UI。

    1. 在 app.sendgrid.com 上
    2. 转到设置 > 发件人身份验证
    3. 单击“验证您的域”按钮。
    4. 插入您的 DNS 主机。在我的情况下,它绝对不在列表中,所以我选择“其他主机”并输入它。我也没有进入品牌链接 - 我不在乎我的自动帐户管理员电子邮件中的链接是否有URLS 中的“sendgrid”。
    5. 输入您发送的域,然后选中“自动安全”和“使用自定义 DKIM 选择器”。[我必须承认,我没有使用自定义选择器尝试这个过程。我们大部分的电子邮件都是从我们自己的服务器发送的,我担心会弄乱我现有的设置。] 对于 DIKM 选择器,只需添加一些你不使用的东西,比如 Sendgrid 的“sg”。
    6. 您将获得一堆 CNAME 记录以添加到您的 DNS,如下所示:

    Sendgrid:安装 DNS 记录

    1. 添加后(如果您需要向第三方授予访问建议记录的权限,您可以使用“发送给同事”),单击验证。您还可以在发件人身份验证页面上检查验证状态。就我而言,它在一开始只是部分起作用-成功验证所有三个记录需要一天多的时间。我怀疑您还必须实际手动尝试验证。至少对我来说,一天左右的手动尝试终于奏效了。

    2. 验证 SPF、DKIM 和 DMARC 是否适用于您的服务器和Sendgrid 发送的电子邮件!如果适用,开香槟。如果没有,请继续下一次危机。

    • 1

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve