我的邮件 DKIM-Signature 凭空创建了一个电子邮件地址
Posted
技术标签:
【中文标题】我的邮件 DKIM-Signature 凭空创建了一个电子邮件地址【英文标题】:My mail DKIM-Signature creates an email address out of thin air 【发布时间】:2015-09-20 12:55:31 【问题描述】:我使用 mandrill 发送使用 javamail 创建的电子邮件。当我尝试使用用户的发件人地址从我们的应用程序发送电子邮件时,DKIM 签名包含一个我们从未分配且不存在的电子邮件地址。当我在不使用 mandrill 的情况下发送这封电子邮件时,邮件不会被更改。
问题在于,当我们从使用 ourdomain.com 的 SKIM 签名的应用程序发送电子邮件时,我们会为不同域 user_domain.com,from 和 sender 标头设置如下:
From: Joost Schouten <joost@user_omain.com>
Sender: Joost Schouten <joost@ourdomain.com>
我们从未设置发件人标头,电子邮件地址也不存在,不幸的是,一些邮件客户端使用此地址进行回复。它是没有域的发件人电子邮件部分和 DKIM 签名域的组合。我不知道为什么会发生这种情况以及如何阻止它发生。
DKIM 签名也提到了这个不存在的地址,所以我假设这可能是原因。不幸的是,我对所有 DKIM 文档都有些迷失了,所以我希望有人能指出我正确的方向。
这是完整的邮件:
Delivered-To: info@ourdomain.com
Received: by 10.129.137.131 with SMTP id z125csp831548ywf;
Thu, 2 Jul 2015 13:02:36 -0700 (PDT)
X-Received: by 10.170.121.210 with SMTP id n201mr40312958ykb.97.1435867356185;
Thu, 02 Jul 2015 13:02:36 -0700 (PDT)
Return-Path: <bounce-md_30191264.559598db.v1-0709e43ec6fc4aaaa2eaa4b9a07c553a@mandrillapp.com>
Received: from mail133-7.atl131.mandrillapp.com (mail133-7.atl131.mandrillapp.com. [198.2.133.7])
by mx.google.com with ESMTPS id 13si4642642ykz.152.2015.07.02.13.02.35
for <info@ourdomain.com>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Thu, 02 Jul 2015 13:02:36 -0700 (PDT)
Received-SPF: pass (google.com: domain of bounce-md_30191264.559598db.v1-0709e43ec6fc4aaaa2eaa4b9a07c553a@mandrillapp.com designates 198.2.133.7 as permitted sender) client-ip=198.2.133.7;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of bounce-md_30191264.559598db.v1-0709e43ec6fc4aaaa2eaa4b9a07c553a@mandrillapp.com designates 198.2.133.7 as permitted sender) smtp.mail=bounce-md_30191264.559598db.v1-0709e43ec6fc4aaaa2eaa4b9a07c553a@mandrillapp.com;
dkim=pass header.i=@ourdomain.com;
dkim=pass header.i=@mandrillapp.com
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=mandrill; d=ourdomain.com;
h=From:Sender:Subject:To:Message-Id:Date:MIME-Version:Content-Type; i=joost@ourdomain.com;
bh=b4xtohIO7sTTZ/geyDmOzKRydBw=;
b=A1snz1SKxbRxJobxUqb5cxn2+s+Rj9osVXk61sJVNNc1VoVVmy7jh471byqGm7nYXGPqsL361zOE
OPXxrdS+Zfr0Wrlhft5q6kgaJCy7xodtICXGGi6a/8xgUZ0Ko/JzWB2SI9Nqe6sMGwg5ecZDDxnt
9u+cBHKpKBN4JY2pjEs=
DomainKey-Signature: a=rsa-sha1; c=nofws; q=dns; s=mandrill; d=ourdomain.com;
b=FJ6zXTYOnZY/RN7okxXDpl5sNL0ysjDQfXixD8vfLk7nvpEB2Y7vUBe7EKbC0dLuHRtLSullN9Eg
ARddkGh81Mes/ergpfyy/epulj745nOfPR8h4cQsu6dhe2p8xHA3H8AJDf2XTX8SnspuZrBgrcmU
gXI1cSTr/QTAz6emAbE=;
Received: from pmta02.mandrill.prod.atl01.rsglab.com (127.0.0.1) by mail133-7.atl131.mandrillapp.com id himcdo1sar88 for <info@ourdomain.com>; Thu, 2 Jul 2015 20:02:35 +0000 (envelope-from <bounce-md_30191264.559598db.v1-0709e43ec6fc4aaaa2eaa4b9a07c553a@mandrillapp.com>)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
i=@mandrillapp.com; q=dns/txt; s=mandrill; t=1435867355; h=From :
Sender : Subject : To : Message-Id : Date : MIME-Version : Content-Type
: From : Subject : Date : X-Mandrill-User : List-Unsubscribe;
bh=+XtZFak4OUf8qSxm1jSRVqiU996OawoBIDsFv7gsDOM=;
b=UTTtcU5XeoBFrCe4v/wpBY02o5aZYRbPKWCpiKxYrrOsuqe+PqizEADb8qqkPqDKteiSOK
K6Gz58xX1DsDGm7O6g85OX4Rqi5edA3YFVgGE4VWG7q6TxKleXsb95TXjqh/pXbUpVqH+oWn
wnNT3PgznJFhgY0lz1njBZqvEREpg=
From: Joost Schouten <joost@user_domain.com>
Sender: Joost Schouten <joost@ourdomain.com>
Subject: Subject
Return-Path: <bounce-md_30191264.559598db.v1-0709e43ec6fc4aaaa2eaa4b9a07c553a@mandrillapp.com>
Received: from [95.85.39.219] by mandrillapp.com id 0709e43ec6fc4aaaa2eaa4b9a07c553a; Thu, 02 Jul 2015 20:02:35 +0000
X-Mailer: Mailer name
To: Receiver <info@ourdomain.com>
Message-Id: <328629681.01435867315102.JavaMail.tomcat7@www>
X-Report-Abuse: Please forward a copy of this message, including all headers, to abuse@mandrill.com
X-Report-Abuse: You can also report abuse here: http://mandrillapp.com/contact/abuse?id=30191264.0709e43ec6fc4aaaa2eaa4b9a07c553a
X-Mandrill-User: md_30191264
Date: Thu, 02 Jul 2015 20:02:35 +0000
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="_av-RYsOAD_G5IlIUfcO9tyvnQ"
--_av-RYsOAD_G5IlIUfcO9tyvnQ
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
PLAIN TEXT CONTENT
--_av-RYsOAD_G5IlIUfcO9tyvnQ
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
<html><head><title></title></head><body> THE HTML CONTENT</body></html>
--_av-RYsOAD_G5IlIUfcO9tyvnQ--
(编辑 - 添加 java 代码) 我的邮件发送代码(简体)
MimeMessageHelper helper = new MimeMessageHelper(message, false); helper.getMimeMessage().setSubject(emailMessage.getSubject(), defaultCharSet);
helper.addTo(new InternetAddress("some@receiver.com", "Rex receiver"));
helper.setFrom(new InternetAddress("joost@user_domain.com", "Joost Schouten"));
//commenting this next line out does not change anything
helper.getMimeMessage().setSender("no-reply@ourdomain.com");
helper.setText(htmlContentVar, true);
helper.getMimeMessage().addHeader("X-Mailer", xMailer);
helper.getMimeMessage().addHeader("X-MC-SigningDomain", "ourdomain.com");
helper.getMimeMessage().addHeader("X-MC-AutoText", "true");
helper.getMimeMessage().addHeader("X-MC-Track", "opens,clicks");
helper.getMimeMessage().addHeader("X-MC-Tags", emailMessage.getTags());
javaMailSender.send(helper.getMimeMessage());
【问题讨论】:
你能给我们一个可以重现错误的代码示例吗?否则,我们只能猜测问题出在哪里。 @Dijkgraaf 我刚刚添加了 javacode。不幸的是,我的应用程序完全按照我的意愿创建了电子邮件。当我通过 mandrill 路由电子邮件时,标题被添加/更改。 @Dijkgraaf 问题在于 Mandrill,请参阅下面的答案。感谢您的帮助! 【参考方案1】:问题在于 Mandrill,因为他们添加了 Sender
标头以确保它位于签署电子邮件的域上。这里明显的问题是,当我在我们自己的域中自己指定 Sender 标头时,它们甚至会覆盖 Sender 标头。目前,我们已经明确添加了Reply-to
标头以及From
标头,以邀请尽可能多的电子邮件客户端使用这些地址,而不是Sender
选项。这似乎确实有帮助,但我们不完全确定这会解决所有电子邮件客户端的回复地址问题。
我希望这可以避免有人拔出头发试图弄清楚发生了什么。这是山魈的完整答案:
感谢您与我们联系。 Mandrill 将 Sender: 标头添加到您的 邮件标题以支持签名和验证您的电子邮件时 发送域没有 SPF 和 DKIM 记录。几封电子邮件 客户端(但不是全部)选择显示此标头中的地址 而不是 From: 标头中的地址。
Mandrill 为所有从 没有设置 SPF 和 DKIM 的域。我们构建 发件人头地址通过结合From的本地部分 地址(@ 符号之前的所有内容)与歌唱域。在 很多情况下,这会创建一个实际上并不存在的地址—— 正如您所指出的那样-但通常这只影响 这些电子邮件,而不是实际的电子邮件回复。你应该还能 回复电子邮件并使用原始 From: 或 Reply-To: 地址 被用作您的回复的接收者,而不是构建的 发件人标头不存在。
我们正在寻找可以更新我们构建它的方式的方法 标题以避免混淆,但我没有可以提供的 ETA 但这些更改何时可用。
我希望这些信息对您有所帮助。让我们知道您是否有任何 更多问题。
【讨论】:
以上是关于我的邮件 DKIM-Signature 凭空创建了一个电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章
喷上它就能凭空打字!鲍哲南团队开发新型智能皮肤,可准确识别手部动作,打字手语不在话下...
Adobe把GAN搞成了缝合怪,凭空P出一张1024分辨率全身人像 | CVPR 2022