【问题标题】:Why there are two DKIM signatures in email?为什么电子邮件中有两个 DKIM 签名?
【发布时间】:2022-01-15 04:57:34
【问题描述】:

我正在尝试使用 Phoneix 和 Amazon SES、bamboobamboo_ses 发送电子邮件。 我已在 Amazon SES 上验证了电子邮件和域,并将该(相同的)DKIM 记录添加到 DNS。

我正在设置这样的电子邮件:

email =
  new_email()
  |> to(recipient)
  |> Bamboo.Email.from({name, from})
  |> subject('Some Subject')
  |> text_body(body_text)
  |> put_header("Return-Path", from)

但每次我这样发送电子邮件时,在另一端我都会收到两个 DKIM 签名,如下所示:

签名 1:

v=1;
a=rsa-sha256;
q=dns/txt;
c=relaxed/simple;
s=someletterssssssadasdsd;
d=mydomain.com;
t=123456789;
h=To:Subject:Mime-Version:From:Content-Type:Message-ID:Date;
bh=somelettersssssss=;
b=somelonglettersssss=

签名 2:

v=1;
a=rsa-sha256;
q=dns/txt;
c=relaxed/simple;
s=someletterssasdasddasdasd;
d=amazonses.com;
t=123456789;
h=To:Subject:Mime-Version:From:Content-Type:Message-ID:Date:Feedback-ID;
bh=somenumber=;
b=kq/somelongnumber=

这是为什么呢?我如何克服附加第二个签名的问题,因为当我尝试通过亚马逊发送时,我只得到一个(签名 1),我的域。

【问题讨论】:

  • 我不确定是否有帮助,但第二个 DKIM 是由 Amazon SES 自动添加的,我不相信它可以被删除,并且根据他们的文档 (docs.aws.amazon.com/ses/latest/DeveloperGuide/…) 它说它可以忽略。
  • 感谢您的回答。出于某种原因,当我使用 Amazon SMTP 配置使用 SES 发送电子邮件时,一切都按预期工作,但是当我使用 API 时 - 我遇到了注意到的问题。但它适用于 SMTP,所以在某种程度上,它现在很好,但问题在某种程度上仍然悬而未决。
  • @mattantley 您的回答是这个问题的明确答案。考虑让它回答,这样 Aleks 就可以接受它,并且您可以获得应得的声誉。
  • 可悲的是,它更像是自动添加的提示。在这种情况下,我的解决方案是通过 SMTP 协议发送。这样,只应用了一个签名。 @mattantley 的评论在某种程度上有助于潜在地转向另一种方法。通过 API 发送电子邮件时,我从来没有设法只有一个签名。

标签: phoenix-framework amazon-ses


【解决方案1】:

根据DMARC specification允许拥有多个DKIM签名:

请注意,一封电子邮件可以包含多个 DKIM 签名,如果任何 DKIM 签名对齐并验证,则视为 DMARC“通过”。

事实上,Amazon SES 总是添加自己的 DKIM 签名,无论是通过 API 或 SMTP 发送(我现在正在观察这一点),甚至是手动签名的消息 (Amazon SES documentation):

您使用 Amazon SES 发送的每条消息都包含一个 DKIM 标头,该标头引用 amazonses.com 的签名域... [即使]如果您手动签署消息,您的消息将包含两个 DKIM 标头:一个用于您的域,以及 Amazon SES 自动为 amazonses.com 创建的一个

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 2017-03-02
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 2012-02-01
    • 2016-08-25
    相关资源
    最近更新 更多