问题标签 [dkim]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
374 浏览

php - 如何使用 DKIM3 对通过 PHP 发送的电子邮件进行签名?

我的网站 example1.com 托管在 host.example2.com 上,当我通过 example1.com 的 PHP mail() 函数发送电子邮件时。当人们收到邮件时,它在 Gmail 中总是有一个“通过”host.example2.com 标记。

我发现了这个: http: //support.google.com/mail/bin/answer.py ?hl=en&ctx=mail&answer=1311182

看来我需要:

  1. 使用 SPF 记录 - 我已经这样做了,现在它在电子邮件标题中正确显示“Received-SPF: pass”。
  2. 通过 DKIM3 对我的消息进行签名,以验证来自 example1.com 的真实身份

我浏览了http://www.dkim.org/,没有找到关于如何在 PHP 中执行此操作的信息。

知道如何将 DKIM3 用于通过 PHP mail() 发送的电子邮件吗?谢谢!

0 投票
3 回答
2268 浏览

php - 用于 Amazon SES 的 phpMailer DKIM 签名

我在 AWS EC2 下运行一个虚拟机,它是一个交钥匙 Linux,AFAIK 基于 Ubuntu / Debian。

我有一个在 Wordpress 上运行的网站,它拥有大约 10.000 人的 Newsletter 订阅者群,所以我想使用 Amazon SES 发送电子邮件,既便宜又好送达率。

问题是我必须自己对电子邮件进行 DKIM 签名...所以我使用的是基于 phpMailer 的 Wordpress 插件。

插件正确发送电子邮件,我的 SPF 记录很好,Amazon SES 运行良好,唯一的问题是 DKIM SIGN - 电子邮件未正确签名。

我被困@插件尝试执行openssl_pkey_get_private的点- 它应该返回一些东西,但它什么也不返回。它还会在 openssl_error_string() 对象上抛出错误,如下所示:

此错误不会停止脚本,我必须挖掘才能找到它。

好吧,然后脚本继续运行,因为它尝试使用空的 privKey 进行 openssl_sign。

结果是一封无法验证 DKIM 的电子邮件。以下是我的 Gmail 收件箱中的 DKIM 标头:

以下是http://www.brandonchecketts.com/emailtest.php关于这封电子邮件的 DKIM 标志的说明:

以下是 phpmailer DKIM_Sign 函数尝试执行的操作:

问题是 openssl_pkey_get_private 什么都不返回。然后 openssl_sign 函数尝试使用EMPTY $privKey 进行签名。

$privKeyStr 正确读取密钥(file_get_contents),如果我回显它,它的内容与密钥相同。

$this->DKIM_passphrase 也是正确的,j0@0d3deus5

这是我按照 Wordpress Amazon SES DKIM Mailer 插件的说明生成密钥的方式:

当然,我将 pass:change-me 更改为正确的密码,j0@0d3deus5

我不能没有 DKIM。似乎hotmail严重依赖它。

这是我的 hotmail 帐户中的一个示例 -> 请注意,由于 DKIM 错误,它会直接进入垃圾文件夹。

欢迎任何帮助。

最好的问候和对不起我的英语。

0 投票
2 回答
4730 浏览

openssl - 如何使用 openssl 从电子邮件验证 DKIM 签名?

我已经为我的 postfix 设置了 opendkim,现在所有外发邮件都有 DKIM-Signature 标题。我想要做的是手动验证,没有 DNS 和外部实用程序,最好只使用 openssl,消息正在获得正确的签名。所以作为输入数据我有:

  • 电子邮件的 DKIM 签名标头
  • DKIM 选择器,DKIM 域
  • DKIM 私钥
  • DKIM 公共签名,如果我需要将记录的形式放入 DNS

问题是如何使用诸如 openssl 之类的 CLI 实用程序使用 DKIM 公共签名解密和/或验证 DKIM 签名?

0 投票
1 回答
1596 浏览

email - 如何将 DKIM 签名添加到使用 CDO 发送的经典 ASP 电子邮件

使用类似下面的内容,是否可以为 DKIM 签名添加标头?从我一直在阅读的内容来看,它看起来不像......为什么不呢?

0 投票
2 回答
6870 浏览

c# - 将 ASN.1 数据转换为公钥需要什么?例如,我如何确定 OID?

此代码与反垃圾邮件工作中使用的DKIM 签名验证有关。

我有一个byte[]s1024._domainkey.yahoo.comASN.1 编码的,但我不知道它是否包含足够的信息来实现公钥。

基于此类,看来我可以将 ASN.1 密钥转换为 X509Certificate 公钥,但我需要提供 OID 和一些 ASN.1 编码的参数。

在此示例中,我有 ASN1 密钥为的元数据:

  1. RSA 编码密钥(ASN.1 DER 编码 [ITU-X660-1997] RSAPublicKey 每 RFC3447)
  2. 与任一 sha1 sha256 哈希算法一起使用
  3. 使用 RFC3447 的 A.2 节中与下表相关的 OID(尽管我不知道如何将此信息转换为完整的 OID)

代码示例

问题

  • 我应该使用什么 OID?
  • ASN.1 参数的示例有哪些?
0 投票
1 回答
401 浏览

email - 现在我已将 DKIM 添加到 DNS,是否需要签署所有电子邮件?

我已将 DKIM 添加到我的域 DNS 之一。

现在是否所有外发电子邮件都需要签名?

0 投票
0 回答
95 浏览

google-app-engine - DKIM 签名是否适用于 App Engine 上的多租户?

文档说:

如果应用程序代表自定义域上的地址发送邮件,则它会在响应自定义域上的请求时对邮件进行签名,例如,http ://example.com/ 上的请求代表 emma@example 发送邮件.com。如果用户浏览http://appid.appspot.com/而不是自定义域,则应用程序不会签署邮件。

因此,如果我有一个启用多租户的应用程序,每个租户帐户都有自定义子域,并且在我的应用程序中注册的 Google Apps 用户通过我的应用程序发送电子邮件。在这些情况下是否会签署消息:

  1. 乔(通过应用程序)将电子邮件浏览发送到http://tenant.myapp.com/foo/bar
    使用他们自己的电子邮件joe@tenant.com作为发件人?

  2. 乔(通过应用程序)将电子邮件浏览发送到http://tenant.myapp.com/foo/bar
    使用应用程序管理员帐户电子邮件bounce@myapp.com作为发件人
    并将回复设置为joe@tenant.com

如果没有,除了通过http://myapp.com/foo/bar页面电子邮件发送之外,还有其他方法可以使用 DKIM 签名来处理案例吗?

PS。我已经在 App Engine 应用程序使用的 Google Apps 自定义域 myapp.com(和 DNS)中设置了 DKIM。

0 投票
2 回答
6566 浏览

email - 使用 PHP 发送邮件时 DKIM 签名未验证

我在 gmail/hotmail 将来自我的服务器的电子邮件过滤为垃圾邮件时遇到问题。Spam Assassin 分数很低,所以我知道我的 IP 不在任何黑名单之类的名单上,这意味着 gmail/hotmail 使用过滤器阻止电子邮件通过。

我做了一些研究并阅读到使用 DKIM 可能会解决我遇到的问题。我继续在我的服务器上启用了 DKIM。现在,当我使用我的电子邮件客户端发送电子邮件时,位于此处的工具 ( http://www.brandonchecketts.com/emailtest.php ) 报告 DKIM 签名有效。

下一步是在我的 PHP 邮件中实现 DKIM 签名。所以我继续使用这个位于此处 ( http://sourceforge.net/projects/dkim-class-php/ ) 的 DKIM 类,它是 PHPMailer 的衍生产品。

但是,当我现在发送电子邮件时,尽管包含 DKIM 签名,但我从验证工具中收到了一个奇怪的错误。

您可以在此处查看完整报告:http ://www.brandonchecketts.com/emailtest.php?email=K86KTXpMbl%40www.brandonchecketts.com

感谢您的帮助,我正在拼命地尝试使这项工作正常进行,并且已经将我的头撞在墙上几个小时了。

0 投票
3 回答
11627 浏览

email - Emails marked as spam - SPF passes, DKIM passes, sender-id passes

I've been struggling to figure out why this is happening, but my emails are being marked as spam by Gmail and Hotmail (they work in Yahoo.)

SPF, DKIM, rDNS, and sender-id all pass. What's weirder is I've send the EXACT same email with its exact contents from my dev server and Gmail accepts it as not spam even though every one of those checks which passes in production fails in dev. Hotmail still marks it as spam though.

Any idea what could be going on? Here is an example header from Gmail (with IPs and domains changed for privacy):

0 投票
2 回答
158 浏览

.net - 带有备用视图的电子邮件的 DKIM 签名

使用asp.net;我必须发送带有文本替代视图的 Html 电子邮件并使用 DKIM 签名。

当电子邮件不包含备用视图时,我设法签署了电子邮件。在电子邮件具有备用视图的情况下,是否有人有解决方案?