【问题标题】:DKIM issues - dkim=neutral (no key) and other errorsDKIM 问题 - dkim=neutral (no key) 和其他错误
【发布时间】:2018-12-16 23:29:23
【问题描述】:

我正在尝试将我的 PHP DKIM 从 Sha1 升级到 Sha256 并出现错误。我尝试了很多东西(如下),基本上gmail无法通过各种错误验证我的签名(如下)。我的邮件标题是:

    ARC-Seal: i=1; a=rsa-sha256; t=1531129068; cv=none;
        d=google.com; s=arc-20160816;
        b=AbkKcrsMJTl1UsVer0iTqShaCPEbef/33ABSdCP6FB6BvWeOVnmE4xNIcJjZTXwE8B
         OuwXkIa26k4i8I6NqSSCwnQoa1QENQCnMSFUJX9hxQa774BMmME+1c2AP7h7Jb7ug8Z8
         9EYXQCuJNLs1FnApd8p2gsx/RsC9DQ6Z3M57mrZpIp9N6MsAE9VAGQ/sthz+dkMkJlvT
         V1hEO26gjXPivGe14EFTb0h5q6kkgoWONQXG+gQQVWEzDk8Gq/eT7Ilm9Fzh0V2PNb+n
         n5zB8ZRdiG8fx0i3oPVDPnNG9k3drOJG6dNdwbIhol+fjRhs6u8boLM1ZCFHGl7S2vKp
         3AyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=date:message-id:mime-version:reply-to:to:from:dkim-signature
         :subject:to:arc-authentication-results;
        bh=MrgLc4ve1ORJFuf0aopHaOcjRXDQ8YmXq9esgbjEKik=;
        b=rG9HE1d3/x5uB5d4PKk9IBG6YoQUltU4GksFoKgw849OU+sM4V5tJ13CuldShH8J9L
         yaOwnZC9W04AhhyzwBCQ3L2H9M4BNWX+ROo7VKakCyxL91aiZMlxB6XwrrK9T4xTJIYk
         OiAB9AzQawP49a/jdKD0rNZAAReOuRvfY/Mo8FzJ0rlAfbyNiu0z1CPLN6BqfE9Hf7n2
         a2QGMMmq+B9Vm5a8pmq7xvFROEpiDe2jUndpfTZB3NoVNYYdk5sBPL698dz+RCFFRhtt
         UnJWPUrFRcVPLbXrZrOMnhpXfaPiRE/P5UGFwahS0XsHpXvx2QHq02DSxe02jPrrWtt+
         957Q==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=neutral (no key) header.i=@mydomain.com header.s=dkimpr header.b=QuXBPFmZ;
       spf=pass (google.com: domain of noreply@mydomain.com designates 110.120.130.140 as permitted sender) smtp.mailfrom=noreply@mydomain.com
Return-Path: <noreply@mydomain.com>
Received: from ess007709 ([110.120.130.140])
        by mx.google.com with ESMTPS id h16-v6si13954889pgb.39.2018.07.09.02.37.47
        for <myemail@gmail.com>
        (version=TLS1_2 cipher=AES128-SHA bits=128/128);
        Mon, 09 Jul 2018 02:37:48 -0700 (PDT)
Received-SPF: pass (google.com: domain of noreply@mydomain.com designates 110.120.130.140 as permitted sender) client-ip=110.120.130.140;
Authentication-Results: mx.google.com;
       dkim=neutral (no key) header.i=@mydomain.com header.s=dkimpr header.b=QuXBPFmZ;
       spf=pass (google.com: domain of noreply@mydomain.com designates 110.120.130.140 as permitted sender) smtp.mailfrom=noreply@mydomain.com
Received: from www-data by ess007709 with local (Exim 4.80) (envelope-from <noreply@mydomain.com>) id 1fcSDJ-0006Ij-CQ; Mon, 09 Jul 2018 02:12:09 -0700
To: myemail@gmail.com
Subject: Welcome to MYWEBSITE
X-PHP-Originating-Script: 1001:test.html
DKIM-Signature: v=1; a=rsa; q=dns/txt; l=586; s=dkimpr; t=1531127529; c=relaxed/simple; h=From:To:Subject; d=mydomain.com; i=infonz@mydomain.com; z=From:=20"mydomain=20App"=20<noreply@mydomain.com> |To:=20myemail@gmail.com |Subject:=20Welcome=20to=20MYWEBSITE; bh=f1SBFzroobq/J+Xp4b+3SEctGQ40Fdi61QLOr3b+Joc=; b=QuXBPFmZGPUazSutggKZHSFxhc7WyIeshmT+Le1i+0n1aYq8B9lDKV9kgw5JdIOBwJvNuyYqHQ0FVDy+gti+FkVujXkzOfrbay4RjZ1Ti0tijJdsWrkSwzlJp9HO9CIbzpo6rcvRG6JoO76lkdhc35lmCfmlCsTfopIvNlHSMK+RoWp87+QIFINyqM0phTT1atSIJQWnMcKSLS54fMqlMjNXEgyN/Q53ZUDM+qIHDCk5eQskP6rGvxsEGIHZK4IgnTqb4uIgNWZNFlNr0f5z7j8PlUSzOLZrGC1r78i9DFrT128z35dOXXA7NV6TaS56jE+/uhLB1f0qfYdjnj4jCw==
From: mydomain App <noreply@mydomain.com>
To: myemail@gmail.com
Reply-To: noreply@mydomain.com
Content-Type: text/html; charset=utf-8
MIME-Version: 1.0

我在发布我的 DNS TXT 时确实遇到了一些问题,因为我的 DNS 主机 (NameCheap) 的每个 TXT DNS 记录有 255 个字符的限制,我通过发布 CNAME 而不是指向不同的主机并托管 TEXT 记录来做到这一点不同的提供者。我相信它可以解决,因为当我尝试使用 DMARC DKIM 分析工具验证 TXT 记录时,我得到以下 OK 结果:

  v=DKIM1; k=rsa; g=*; s=email; h=sha256; t=s;
p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2M+BcNJ0iDiEvfEY3oZ33gSpO7sjt
LyiNuyHNjT2KU1QWKaM8mKbYtwXjKqrG1vp4gLAPcbBI2rl2yGsxqJ+ml0ULTHYpjuGF5bMT9jh
/Dt/3bTTps4hbBrZPoaL9f6xDHu6LGEKgnqLEF/z+tpUte56xCFxz/b8zTYLn6srpQBsBTORjzq
8pkmfYGLfVJgw0+zZTZjQL4UXDqd3jmj/go4HCeij1UGoMkgp4zWzzCrJDuWbfPOPikaqZmhZk+
Je5I60pHn6Dlhp3v6awdGTWLb+51L0Y0QieLt3yM62Z4TeVembyUI6sEB+hb7DByK5GbS44sJxu
+AbnUJ4U5dhWwIDAQAB;

我尝试了很多方法来解决我的错误:

  1. 我尝试发送 k=rsa-sha256 而不是 k=rsa,然后出现 dkim=fail 错误(这至少表明 DNS 记录正在解析?)
  2. 我尝试删除 l=... 变量(加密正文的长度),结果出现 dkim=neutral(无密钥)错误。
  3. 我尝试了 UTF 加密而不是 base64,还尝试了不使用二进制打包 - 都失败了。
  4. 我尝试使用 TXT 记录并发布一些其他版本,例如在 ; 之前有或没有转义字符。 - 得到了相同的结果。
  5. 我尝试将标记轻松/放松更改为轻松/简单(看到有人声称它会起作用) - 没有结果。

有什么线索吗?我将不胜感激任何帮助!干杯

【问题讨论】:

    标签: gmail phpmailer dkim


    【解决方案1】:

    dkim=neutral (no key) 听起来好像接收器无法正确检索和解析您的 DKIM 记录。这与您对limitation of 255 chars at namecheap 的观察一致。我有过类似的问题。

    最简单的解决方法是生成和使用符合此限制的较短 DKIM 密钥。如果我没记错的话,DKIM community offers such generator。否则,您可以尝试使用支持更长 TXT 记录的不同 DNS 提供商。

    【讨论】:

      【解决方案2】:

      您可以使用双引号、空格和另一个双引号将长 DKIM(公共)记录分成多个字符串。

      因此:

      ("第一部分" "第二部分" "等")

      【讨论】:

        【解决方案3】:

        好的,一年半后,我设法通过重置服务器解决了这个问题。问题是我试图用 php 邮件在 php 级别对我的电子邮件进行签名,该邮件使用的是 exim4。我得到的解决方法是设置postfix server as an outgoing mail server,如本指南中所述。这是一份长达 12 页的长指南,但循序渐进会让它运作良好。

        使用的堆栈是 Linux debian,无论您使用哪种后端邮件(php、python、node.js 等),DKIM 和 SPF 都可以工作

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-30
          • 2018-03-08
          • 2018-12-13
          • 2011-03-09
          • 1970-01-01
          • 1970-01-01
          • 2015-04-13
          • 1970-01-01
          相关资源
          最近更新 更多