заголовки сообщений говорят, что dkim = ошибка, статистика говорит = PASSED. почему возникает конфликт и как его исправить?

В некоторых не всех полученных электронных письмах, особенно ТОЛЬКО тех, которые отправлены через «массовые» службы, я получаю ошибку DKIM: «Ошибка проверки подписи». Вот один пример:

Received message headers
    DKIM-Filter: OpenDKIM Filter v2.10.3 mail.example.com 3rfbq51KBTz2xF0
    Authentication-Results: dkim.example.com/3rfbq51KBTz2xF0;
        dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=proxyvote.com header.i=@proxyvote.com header.b=XjB07H1q

Но при проверке «dkim-stats» там написано «ПРОЙДЕНО»

opendkim-stats dkim-stats
    Job 3rfbq51KBTz2xF0 at edge (size 12124)
            received via 127.0.0.1 at Wed Jun 29 01:45:37 2016
            from domain = 'proxyvote.com'
            Signature 1 from proxyvote.com
                    PASSED
                    signed bytes: (whole message)
                    Signature properties: 
                    Key properties:  
                    DNSSEC status: INSECURE

Вот дамп, сопровождающий это сообщение

cat dkim.3rfbq51KBTz2xF0.4dDfiv
    Date: Wed, 29 Jun 2016 03:10:40 -0400
    From: "PROXYVOTE"  <id@proxyvote.com>
    To:   USER@EXAMPLE.COM
    Subject: Semi-Annual Report
    message-id: <$A94546_1_519687362154ADDC_0154651$495132454@adp-ics.com>
    Reply-To: "PROXYVOTE" <ProxyMaster@proxyvote.com>
    MIME-Version: 1.0
    DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
      d=proxyvote.com; i=@proxyvote.com; q=dns/txt;
      s=edppsuirna01; t=1467189937; x=1498725937;
      h=date:from:to:subject:message-id:reply-to:mime-version;
      bh=H5lkhcTIjxd0B3N4Kdj314qELLpSKZvAAtPAS+XcM1A=;

Почему я получаю как «сбой», так и «прошел», и что мне нужно сделать, чтобы это исправить?

1
задан 5 July 2016 в 16:38
1 ответ

Джейсон, можете ли вы изменить c = простой / простой на c = расслабленный \ расслабленный ? Я много раз видел, как разные валидаторы DKIM боролись со сворачиванием пробелов. Вы говорите, что это не удается только с «Bulk», так что это говорит мне, что вы отправляете это через какую-то службу SMTP, что заставляет меня более склоняться к тому, что заголовки переписываются, а сворачивание пробелов простого / простого является виновником. Вы также можете запустить на нем Mail Test , который проверит его с 4 различными валидаторами DKIM - если все четыре не пройдут. Вероятно, это то, что происходит, когда вы отправляете через эту массовую службу.

Обновленный раздел ниже

После получения электронного письма вы все еще можете повторно обработать его и проверить DKIM с помощью другого валидатора. Это то, что я делаю для проверки работоспособности, когда думаю, что мой почтовый сервер может неправильно обрабатывать DKIM. Я использую Limilabs Mail.dll для обработки отправки EML, но вы можете использовать все, что захотите, на любом языке программирования, с которым вы знакомы. DKIM останется нетронутым, и вы сможете проверить его на соответствие другим валидаторам DKIM с помощью онлайн-автоответчиков.

    Dim email As IMail
    Dim mb As New Limilabs.Mail.MailBuilder
    Dim smtpMail As SmtpMail = SmtpMail.CreateFromEmlFile("D:\ValidateDKIM\BadDKIM.eml")
    email = mb.CreateFromEml(smtpMail.RawEmlData)

     Using client As New Smtp()
            client.ConnectSSL("mailserver", 465)
            client.Login("mailserver", "password")
            Dim stream As System.Net.Security.SslStream = client.ReadStream()

            Dim reader As IO.StreamReader = New IO.StreamReader(stream)
            client.SendMessage(New SmtpMail("Mail Check", { "mailtest@unlocktheinbox.com","check-auth@verifier.port25.com"}, smtpMail.RawEmlData))
            client.Close()
    End Using
0
ответ дан 4 December 2019 в 06:08

Теги

Похожие вопросы