DKIM Fails (body hash) при подписании в MTA с использованием opendkim
У нас возникают проблемы с подписанием исходящих рассылок с помощью DKIM с использованием opendkim в качестве фильтра для Postfix.
Эта проблема возникает только при отправке электронных писем в формате HTML из phpList. Все остальные текстовые рассылки и рассылки от других служб подписываются правильно и проверяются. phpList использует phpMailer в качестве движка.
Если мы отправляем рассылку как "текст", то у нас нет проблем. Если мы отправляем почтовое сообщение как "HTML", то хеширование тела не будет выполнено.
Эта проблема существовала в v2, однако мы использовали для принудительной отправки phpList только в формате HTML.
Эта ошибка возникает при отправке сообщения в виде совместной электронной почты в формате HTML и TEXT (по умолчанию в v3).
Я предполагаю, что это как-то связано с разрывами / возвратами строк.
Может ли кто-нибудь указать нам правильное направление?
Заранее благодарны за Вашу помощь.
Служба верификатора Port25 - сообщение, передающее DKIM (только текст)
==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: pass
Sender-ID check: pass
SpamAssassin check: ham
==========================================================
Details:
==========================================================
----------------------------------------------------------
DomainKeys check details:
----------------------------------------------------------
Result: neutral (message not signed)
ID(s) verified: header.From=updates@flyawaysimulation.com
DNS record(s):
----------------------------------------------------------
DKIM check details:
----------------------------------------------------------
Result: pass (matches From: updates@flyawaysimulation.com)
ID(s) verified: header.d=flyawaysimulation.com
Canonicalized Headers:
to:check-auth-ryan=rbftpnetworks.com@verifier.port25.com'0D''0A'
subject:Test'20'123'0D''0A'
date:Thu,'20'18'20'Sep'20'2014'20'21:50:35'20'+0100'0D''0A'
from:Fly'20'Away'20'Simulation'20'<updates@flyawaysimulation.com>'0D''0A'
reply-to:Fly'20'Away'20'Simulation'20'<updates@flyawaysimulation.com>'0D''0A'
list-help:<https://flyawaysimulation.com/lists/?p=preferences&uid=1e629246241f8e9714134ee8076ad406>'0D''0A'
list-unsubscribe:<https://flyawaysimulation.com/lists/?p=unsubscribe&uid=1e629246241f8e9714134ee8076ad406&jo=1>'0D''0A'
list-subscribe:<https://flyawaysimulation.com/lists/?p=subscribe>'0D''0A'
list-owner:<mailto:abuse@flyawaysimulation.com>'0D''0A'
dkim-signature:v=1;'20'a=rsa-sha256;'20'c=relaxed/simple;'20'd=flyawaysimulation.com;'20's=mail;'20't=1411073436;'20'bh=hhSjWh2jttCh3y1SOIZzUVlxN+KYTuNZ+eh16bzchHc=;'20'h=To:Subject:Date:From:Reply-To:List-Help:List-Unsubscribe:'20'List-Subscribe:List-Owner;'20'b=
Canonicalized Body:
'20'test'20'123'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'20''20''0D''0A'
DNS record(s):
mail._domainkey.flyawaysimulation.com. 3600 IN TXT "v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDimrx9MV1sFyUCVPeH6SFMBy7Cb2AU6aB9i3GazP7QKWG5pWWkFEurFImNbwi4wKz6dtKQeEkcGzPdzyeD+hXaSG2sl86T4pnwIxUaBMlW+FWfaNx0XPphacPAYjtkJGVoZGmmIbK3tH8HLZqdCEy6YIKd0kNSXQqFEMQseHaR6wIDAQAB"
Public key used for verification: mail._domainkey.flyawaysimulation.com (1024 bits)
NOTE: DKIM checking has been performed based on the latest DKIM specs
(RFC 4871 or draft-ietf-dkim-base-10) and verification may fail for
older versions. If you are using Port25's PowerMTA, you need to use
version 3.2r11 or later to get a compatible version of DKIM.
==========================================================
Original Email
==========================================================
Return-Path: <updates@flyawaysimulation.com>
Received: from web3.rbftpnetworks.net (195.224.144.101) by verifier.port25.com id h3d2q211u9cu for <check-auth-ryan=rbftpnetworks.com@verifier.port25.com>; Thu, 18 Sep 2014 16:50:41 -0400 (envelope-from <updates@flyawaysimulation.com>)
Authentication-Results: verifier.port25.com; spf=pass smtp.mailfrom=updates@flyawaysimulation.com
Authentication-Results: verifier.port25.com; domainkeys=neutral (message not signed) header.From=updates@flyawaysimulation.com
Authentication-Results: verifier.port25.com; dkim=pass (matches From: updates@flyawaysimulation.com) header.d=flyawaysimulation.com
Authentication-Results: verifier.port25.com; sender-id=pass header.From=updates@flyawaysimulation.com
Received: by web3.rbftpnetworks.net (Postfix, from userid 70)
id 2FF6D3E2B4BC; Thu, 18 Sep 2014 21:50:35 +0100 (BST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=flyawaysimulation.com; s=mail; t=1411073436;
bh=hhSjWh2jttCh3y1SOIZzUVlxN+KYTuNZ+eh16bzchHc=;
h=To:Subject:Date:From:Reply-To:List-Help:List-Unsubscribe:
List-Subscribe:List-Owner;
b=kz3pyKnsxvzKKc9I764d8xwTxMQkJNcdHSup9+BOoNujSXTOyyAM1tpc5QWIhGMa4
NOwsePDv5qfladW3kAh7TuwWW9geH6gdV9PhHF5RCg6jyHHbUY8t4mpIcW7w4yNuIK
BMMbXk4+puGpEKdyRgfGKXxYjI0bVKK1Ck2vdb5Q=
To: check-auth-ryan=rbftpnetworks.com@verifier.port25.com
Subject: Test 123
Received: from host81-138-131-190.in-addr.btopenworld.com [81.138.131.190] by flyawaysimulation.com with HTTP; Thu, 18 Sep 2014 21:50:35 +0100
Date: Thu, 18 Sep 2014 21:50:35 +0100
From: Fly Away Simulation <updates@flyawaysimulation.com>
Reply-To: Fly Away Simulation <updates@flyawaysimulation.com>
Message-ID: <535768d2df1f49b5df91d9b010abeba9@flyawaysimulation.com>
X-Priority: 3
X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/)
X-phpList-version: 3.0.7
X-MessageID: 8
X-ListMember: check-auth-ryan=rbftpnetworks.com@verifier.port25.com
Precedence: bulk
Bounces-To: updates@flyawaysimulation.com
List-Help: <https://flyawaysimulation.com/lists/?p=preferences&uid=1e629246241f8e9714134ee8076ad406>
List-Unsubscribe: <https://flyawaysimulation.com/lists/?p=unsubscribe&uid=1e629246241f8e9714134ee8076ad406&jo=1>
List-Subscribe: <https://flyawaysimulation.com/lists/?p=subscribe>
List-Owner: <mailto:abuse@flyawaysimulation.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8
test 123
Служба верификатора Port25 - сообщение о сбое DKIM (текстовое /HTML электронное письмо)
==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: fail
Sender-ID check: pass
SpamAssassin check: ham
==========================================================
Details:
==========================================================
----------------------------------------------------------
DKIM check details:
----------------------------------------------------------
Result: fail (wrong body hash: expected nb2kCq5nNBE+IfyLiAIH9t/9x7Kk5PpCb+1GdO/wiJ8=)
ID(s) verified:
Canonicalized Headers:
to:check-auth-ryan=rbftpnetworks.com@verifier.port25.com'0D''0A'
subject:Test'20'123'0D''0A'
date:Thu,'20'18'20'Sep'20'2014'20'21:52:19'20'+0100'0D''0A'
from:Fly'20'Away'20'Simulation'20'<updates@flyawaysimulation.com>'0D''0A'
reply-to:Fly'20'Away'20'Simulation'20'<updates@flyawaysimulation.com>'0D''0A'
list-help:<https://flyawaysimulation.com/lists/?p=preferences&uid=1e629246241f8e9714134ee8076ad406>'0D''0A'
list-unsubscribe:<https://flyawaysimulation.com/lists/?p=unsubscribe&uid=1e629246241f8e9714134ee8076ad406&jo=1>'0D''0A'
list-subscribe:<https://flyawaysimulation.com/lists/?p=subscribe>'0D''0A'
list-owner:<mailto:abuse@flyawaysimulation.com>'0D''0A'
dkim-signature:v=1;'20'a=rsa-sha256;'20'c=relaxed/simple;'20'd=flyawaysimulation.com;'20's=mail;'20't=1411073540;'20'bh=XMTdnEvx/N4aZB10KoQqWOQW+MUVFvU66kqiSqm0XKc=;'20'h=To:Subject:Date:From:Reply-To:List-Help:List-Unsubscribe:'20'List-Subscribe:List-Owner;'20'b=
Canonicalized Body:
--b1_b4a02db1226bc348457a47d51e902619'0D''0A'
Content-Type:'20'text/plain;'20'charset=UTF-8'0D''0A'
Content-Transfer-Encoding:'20'quoted-printable'0D''0A'
'0D''0A'
'20'test'20'123'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'20'=20'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
--b1_b4a02db1226bc348457a47d51e902619'0D''0A'
Content-Type:'20'text/html;'20'charset=UTF-8'0D''0A'
Content-Transfer-Encoding:'20'quoted-printable'0D''0A'
'0D''0A'
<html><head>=0A'20''20''20''20''20''20''20''20'<meta'20'content=3D"text/html;charset=3DUTF-8"'20'http-equ='0D''0A'
'0D''0A'
iv=3D"Content-Type">=0A'20''20''20''20''20''20''20''20'<title></title></head><body><p> test'20'12='0D''0A'
'0D''0A'
3</p>=0A<img'20'src=3D"https://flyawaysimulation.com/lists/ut.php?u=3D1e629246='0D''0A'
'0D''0A'
241f8e9714134ee8076ad406&m=3D8"'20'width=3D"1"'20'height=3D"1"'20'border=3D"0"'20'/='0D''0A'
'0D''0A'
></body></html>'0D''0A'
'0D''0A'
'0D''0A'
--b1_b4a02db1226bc348457a47d51e902619--'0D''0A'
DNS record(s):
NOTE: DKIM checking has been performed based on the latest DKIM specs
(RFC 4871 or draft-ietf-dkim-base-10) and verification may fail for
older versions. If you are using Port25's PowerMTA, you need to use
version 3.2r11 or later to get a compatible version of DKIM.
==========================================================
Original Email
==========================================================
Return-Path: <updates@flyawaysimulation.com>
Received: from web3.rbftpnetworks.net (195.224.144.101) by verifier.port25.com id h3d30c11u9cb for <check-auth-ryan=rbftpnetworks.com@verifier.port25.com>; Thu, 18 Sep 2014 16:52:22 -0400 (envelope-from <updates@flyawaysimulation.com>)
Authentication-Results: verifier.port25.com; spf=pass smtp.mailfrom=updates@flyawaysimulation.com
Authentication-Results: verifier.port25.com; domainkeys=neutral (message not signed) header.From=updates@flyawaysimulation.com
Authentication-Results: verifier.port25.com; dkim=fail (wrong body hash: expected nb2kCq5nNBE+IfyLiAIH9t/9x7Kk5PpCb+1GdO/wiJ8=)
Authentication-Results: verifier.port25.com; sender-id=pass header.From=updates@flyawaysimulation.com
Received: by web3.rbftpnetworks.net (Postfix, from userid 70)
id 014C83E2B53F; Thu, 18 Sep 2014 21:52:19 +0100 (BST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=flyawaysimulation.com; s=mail; t=1411073540;
bh=XMTdnEvx/N4aZB10KoQqWOQW+MUVFvU66kqiSqm0XKc=;
h=To:Subject:Date:From:Reply-To:List-Help:List-Unsubscribe:
List-Subscribe:List-Owner;
b=OXitjsekFORKng9NPtJ7GSrKROUf+EGj/zetZ7ZoXWGeZerr2+IUNFgSZcNPjub5M
VazJtwOMRZ5g7r6SrUWjPfkpDH6nt3qecOW2E000ftsWwv78wPtD4mc0OIN/IsY52h
vk+mbHrQb4ToUHmxIGRIfB/NOdDiXG7Gp+aVrgRY=
To: check-auth-ryan=rbftpnetworks.com@verifier.port25.com
Subject: Test 123
Received: from host81-138-131-190.in-addr.btopenworld.com [81.138.131.190] by flyawaysimulation.com with HTTP; Thu, 18 Sep 2014 21:52:19 +0100
Date: Thu, 18 Sep 2014 21:52:19 +0100
From: Fly Away Simulation <updates@flyawaysimulation.com>
Reply-To: Fly Away Simulation <updates@flyawaysimulation.com>
Message-ID: <b4a02db1226bc348457a47d51e902619@flyawaysimulation.com>
X-Priority: 3
X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/)
X-phpList-version: 3.0.7
X-MessageID: 8
X-ListMember: check-auth-ryan=rbftpnetworks.com@verifier.port25.com
Precedence: bulk
Bounces-To: updates@flyawaysimulation.com
List-Help: <https://flyawaysimulation.com/lists/?p=preferences&uid=1e629246241f8e9714134ee8076ad406>
List-Unsubscribe: <https://flyawaysimulation.com/lists/?p=unsubscribe&uid=1e629246241f8e9714134ee8076ad406&jo=1>
List-Subscribe: <https://flyawaysimulation.com/lists/?p=subscribe>
List-Owner: <mailto:abuse@flyawaysimulation.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="b1_b4a02db1226bc348457a47d51e902619"
--b1_b4a02db1226bc348457a47d51e902619
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
test 123
=20
--b1_b4a02db1226bc348457a47d51e902619
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<html><head>=0A <meta content=3D"text/html;charset=3DUTF-8" http-equ=
iv=3D"Content-Type">=0A <title></title></head><body><p> test 12=
3</p>=0A<img src=3D"https://flyawaysimulation.com/lists/ut.php?u=3D1e629246=
241f8e9714134ee8076ad406&m=3D8" width=3D"1" height=3D"1" border=3D"0" /=
> </body></html>
--b1_b4a02db1226bc348457a47d51e902619--
phpMailer версия 5.2.5 (в комплекте с phpList)
ОБНОВЛЕНИЕ: Мы можем пройти проверку DKIM на тестере Port25, если мы включим "FixCRLF yes" в конфигурации opendkim. Тем не менее, это все еще не удается Gmail DKIM проверки.
Проверьте вывод переданного сообщения с помощью "FixCRLF yes":
==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: pass
Sender-ID check: pass
SpamAssassin check: ham
----------------------------------------------------------
DomainKeys check details:
----------------------------------------------------------
Result: neutral (message not signed)
ID(s) verified: header.From=updates@flyawaysimulation.com
DNS record(s):
----------------------------------------------------------
DKIM check details:
----------------------------------------------------------
Result: pass (matches From: updates@flyawaysimulation.com)
ID(s) verified: header.d=flyawaysimulation.com
Canonicalized Headers:
to:check-auth-ryan=rbftpnetworks.com@verifier.port25.com'0D''0A'
subject:Test'20'123'0D''0A'
date:Sun,'20'21'20'Sep'20'2014'20'15:57:46'20'+0100'0D''0A'
from:Fly'20'Away'20'Simulation'20'<updates@flyawaysimulation.com>'0D''0A'
reply-to:Fly'20'Away'20'Simulation'20'<updates@flyawaysimulation.com>'0D''0A'
list-help:<https://flyawaysimulation.com/lists/?p=preferences&uid=1e629246241f8e9714134ee8076ad406>'0D''0A'
list-unsubscribe:<https://flyawaysimulation.com/lists/?p=unsubscribe&uid=1e629246241f8e9714134ee8076ad406&jo=1>'0D''0A'
list-subscribe:<https://flyawaysimulation.com/lists/?p=subscribe>'0D''0A'
list-owner:<mailto:abuse@flyawaysimulation.com>'0D''0A'
dkim-signature:v=1;'20'a=rsa-sha256;'20'c=relaxed/simple;'20'd=flyawaysimulation.com;'20's=mail;'20't=1411311466;'20'bh=PUR9ib4HOSSj9G3jmXSCyzc1LAtqQeyWPSAii67TLd8=;'20'h=To:Subject:Date:From:Reply-To:List-Help:List-Unsubscribe:'20'List-Subscribe:List-Owner;'20'b=
Canonicalized Body:
--b1_4ecb49f93b720bc688fe3bcdcafed5b0'0D''0A'
Content-Type:'20'text/plain;'20'charset=UTF-8'0D''0A'
Content-Transfer-Encoding:'20'quoted-printable'0D''0A'
'0D''0A'
'20'test'20'123'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
'20'=20'0D''0A'
'0D''0A'
'0D''0A'
'0D''0A'
--b1_4ecb49f93b720bc688fe3bcdcafed5b0'0D''0A'
Content-Type:'20'text/html;'20'charset=UTF-8'0D''0A'
Content-Transfer-Encoding:'20'quoted-printable'0D''0A'
'0D''0A'
<html><head>=0A'20''20''20''20''20''20''20''20'<meta'20'content=3D"text/html;charset=3DUTF-8"'20'http-equ='0D''0A'
'0D''0A'
iv=3D"Content-Type">=0A'20''20''20''20''20''20''20''20'<title></title></head><body><p> test'20'12='0D''0A'
'0D''0A'
3</p>=0A<img'20'src=3D"https://flyawaysimulation.com/lists/ut.php?u=3D1e629246='0D''0A'
'0D''0A'
241f8e9714134ee8076ad406&m=3D8"'20'width=3D"1"'20'height=3D"1"'20'border=3D"0"'20'/='0D''0A'
'0D''0A'
></body></html>'0D''0A'
'0D''0A'
'0D''0A'
--b1_4ecb49f93b720bc688fe3bcdcafed5b0--'0D''0A'
DNS record(s):
mail._domainkey.flyawaysimulation.com. 3600 IN TXT "v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDimrx9MV1sFyUCVPeH6SFMBy7Cb2AU6aB9i3GazP7QKWG5pWWkFEurFImNbwi4wKz6dtKQeEkcGzPdzyeD+hXaSG2sl86T4pnwIxUaBMlW+FWfaNx0XPphacPAYjtkJGVoZGmmIbK3tH8HLZqdCEy6YIKd0kNSXQqFEMQseHaR6wIDAQAB"
Public key used for verification: mail._domainkey.flyawaysimulation.com (1024 bits)
NOTE: DKIM checking has been performed based on the latest DKIM specs
(RFC 4871 or draft-ietf-dkim-base-10) and verification may fail for
older versions. If you are using Port25's PowerMTA, you need to use
version 3.2r11 or later to get a compatible version of DKIM.
==========================================================
Original Email
==========================================================
Return-Path: <updates@flyawaysimulation.com>
Received: from web3.rbftpnetworks.net (195.224.144.101) by verifier.port25.com id h3rjmm11u9c1 for <check-auth-ryan=rbftpnetworks.com@verifier.port25.com>; Sun, 21 Sep 2014 10:57:47 -0400 (envelope-from <updates@flyawaysimulation.com>)
Authentication-Results: verifier.port25.com; spf=pass smtp.mailfrom=updates@flyawaysimulation.com
Authentication-Results: verifier.port25.com; domainkeys=neutral (message not signed) header.From=updates@flyawaysimulation.com
Authentication-Results: verifier.port25.com; dkim=pass (matches From: updates@flyawaysimulation.com) header.d=flyawaysimulation.com
Authentication-Results: verifier.port25.com; sender-id=pass header.From=updates@flyawaysimulation.com
Received: by web3.rbftpnetworks.net (Postfix, from userid 70)
id CDAD13E6DCB8; Sun, 21 Sep 2014 15:57:46 +0100 (BST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=flyawaysimulation.com; s=mail; t=1411311466;
bh=PUR9ib4HOSSj9G3jmXSCyzc1LAtqQeyWPSAii67TLd8=;
h=To:Subject:Date:From:Reply-To:List-Help:List-Unsubscribe:
List-Subscribe:List-Owner;
b=skviRyhjPtB8aaRzLKyzkjay3Qk+Z5AOGg4Ue/Dk62SgvP1aZnf3kL1lCSWiwO1rI
VKYmMzzspbKLxMVrZ0yXO0s4wx5u9EFNw4eJMNh6fKCimiNwEoSGQRkJcjNb7wA9nG
38/FjbPIkvRyx1+hxgL9QOP3iSGv9w3X0UAFUmmc=
To: check-auth-ryan=rbftpnetworks.com@verifier.port25.com
Subject: Test 123
Received: from host81-138-131-190.in-addr.btopenworld.com [81.138.131.190] by flyawaysimulation.com with HTTP; Sun, 21 Sep 2014 15:57:46 +0100
Date: Sun, 21 Sep 2014 15:57:46 +0100
From: Fly Away Simulation <updates@flyawaysimulation.com>
Reply-To: Fly Away Simulation <updates@flyawaysimulation.com>
Message-ID: <4ecb49f93b720bc688fe3bcdcafed5b0@flyawaysimulation.com>
X-Priority: 3
X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/)
X-phpList-version: 3.0.7
X-MessageID: 8
X-ListMember: check-auth-ryan=rbftpnetworks.com@verifier.port25.com
Precedence: bulk
Bounces-To: updates@flyawaysimulation.com
List-Help: <https://flyawaysimulation.com/lists/?p=preferences&uid=1e629246241f8e9714134ee8076ad406>
List-Unsubscribe: <https://flyawaysimulation.com/lists/?p=unsubscribe&uid=1e629246241f8e9714134ee8076ad406&jo=1>
List-Subscribe: <https://flyawaysimulation.com/lists/?p=subscribe>
List-Owner: <mailto:abuse@flyawaysimulation.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="b1_4ecb49f93b720bc688fe3bcdcafed5b0"
--b1_4ecb49f93b720bc688fe3bcdcafed5b0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
test 123
=20
--b1_4ecb49f93b720bc688fe3bcdcafed5b0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<html><head>=0A <meta content=3D"text/html;charset=3DUTF-8" http-equ=
iv=3D"Content-Type">=0A <title></title></head><body><p> test 12=
3</p>=0A<img src=3D"https://flyawaysimulation.com/lists/ut.php?u=3D1e629246=
241f8e9714134ee8076ad406&m=3D8" width=3D"1" height=3D"1" border=3D"0" /=
> </body></html>
--b1_4ecb49f93b720bc688fe3bcdcafed5b0--
То же сообщение отправлено в Gmail:
Delivered-To: ****
Received: by 10.170.191.196 with SMTP id i187csp139225yke;
Sun, 21 Sep 2014 08:05:20 -0700 (PDT)
X-Received: by 10.194.134.100 with SMTP id pj4mr14856269wjb.72.1411311920538;
Sun, 21 Sep 2014 08:05:20 -0700 (PDT)
Return-Path: <updates@flyawaysimulation.com>
Received: from web3.rbftpnetworks.net (web3.rbftpnetworks.net. [195.224.144.101])
by mx.google.com with ESMTP id db4si8324616wib.100.2014.09.21.08.05.20
for <****>;
Sun, 21 Sep 2014 08:05:20 -0700 (PDT)
Received-SPF: pass (google.com: domain of updates@flyawaysimulation.com designates 195.224.144.101 as permitted sender) client-ip=195.224.144.101;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of updates@flyawaysimulation.com designates 195.224.144.101 as permitted sender) smtp.mail=updates@flyawaysimulation.com;
dkim=neutral (body hash did not verify) header.i=@
Received: by web3.rbftpnetworks.net (Postfix, from userid 70)
id E11B93E6E003; Sun, 21 Sep 2014 16:05:18 +0100 (BST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=flyawaysimulation.com; s=mail; t=1411311919;
bh=d40fzjdg7KnEX5wH3Ea2b1ZzoQMu8dzZyP1dYsxaoVc=;
h=To:Subject:Date:From:Reply-To:List-Help:List-Unsubscribe:
List-Subscribe:List-Owner;
b=ub2LA6uRxpsgByD3RRUHqAGhlUu5d1gBgNadBBeaJdDP6pvSL/IX2Lzy6SqG2kGIK
dU7YnOmI3w0frerJZRldlSAZduKUQqaT0QZHfvUZVJnLihK8EIZ7GkzX+6VVE2Pojm
J8aVCq8fPOEuCG6mu2QdIUmpqkWO+s8bBYBYR6ro=
To: *****
Subject: Test 123
Received: from host81-138-131-190.in-addr.btopenworld.com [81.138.131.190] by flyawaysimulation.com with HTTP; Sun, 21 Sep 2014 16:05:18 +0100
Date: Sun, 21 Sep 2014 16:05:18 +0100
From: Fly Away Simulation <updates@flyawaysimulation.com>
Reply-To: Fly Away Simulation <updates@flyawaysimulation.com>
Message-ID: <8938d7bccca9e15cd846714ca4a01d04@flyawaysimulation.com>
X-Priority: 3
X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/)
X-phpList-version: 3.0.7
X-MessageID: 8
X-ListMember: ****
Precedence: bulk
Bounces-To: updates@flyawaysimulation.com
List-Help: <https://flyawaysimulation.com/lists/?p=preferences&uid=58f4e3c38a321901b99d714dd5f54850>
List-Unsubscribe: <https://flyawaysimulation.com/lists/?p=unsubscribe&uid=58f4e3c38a321901b99d714dd5f54850&jo=1>
List-Subscribe: <https://flyawaysimulation.com/lists/?p=subscribe>
List-Owner: <mailto:abuse@flyawaysimulation.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="b1_8938d7bccca9e15cd846714ca4a01d04"
--b1_8938d7bccca9e15cd846714ca4a01d04
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
test 123
=20
--b1_8938d7bccca9e15cd846714ca4a01d04
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<html><head>=0A <meta content=3D"text/html;charset=3DUTF-8" http-equ=
iv=3D"Content-Type">=0A <title></title></head><body><p> test 12=
3</p>=0A<img src=3D"https://flyawaysimulation.com/lists/ut.php?u=3D58f4e3c3=
8a321901b99d714dd5f54850&m=3D8" width=3D"1" height=3D"1" border=3D"0" /=
></body></html>
--b1_8938d7bccca9e15cd846714ca4a01d04--
2 ответа
Я столкнулся с точной проблемой, которую вы описываете, где [PlainText DKIM=pass] и [HTMLBody DKIM=fail] при отправке в Gmail. я использую C# MailMessage
и по умолчанию набор символов по умолчанию для тела - "us-ascii", который отлично работает для текстовых писем, но не для HTML. Набор символов по умолчанию для темы электронной почты - UTF-8, поэтому нет необходимости устанавливать снова.
При отправке электронного письма в формате HTML перед отправкой необходимо указать следующий параметр:
Mailmessage.BodyEncoding = Encoding.UTF8;
После внесения этого небольшого изменения Gmail снова регистрирует мои электронные письма, и я получаю пропуск DKIM =; когда я смотрю на первоисточник. Также это соответствующие заголовки
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64
*followed by block of base64 body text*
Возможно, вы можете имитировать поведение с помощью PHP, а может изменить свое
Content-Transfer-Encoding: quoted-printable
to
Content-Transfer-Encoding: base64
Кажется, есть две проблемы:
Канонизация тела, выполненная верификатором Port25, неверна. На конце тела есть
> </body></html>
, Там пространство ошибочно удалено. В противном случае канонизация верна.Хэш тела в подписи DKIM, кажется, не подходит для тела, полученного Port25 (с двумя разными верификаторами DKIM я получаю тело хэша
gjpXaqduU+jpM3yh1hPT5jqMSJZjHzi4KqAGlCG0/M8=
). Это может быть вызвано либо изменением сообщения после подписания, либо ошибкой в процессе подписи. включитьKeepTemporaryFiles
в opendkim, чтобы увидеть канонизацию тела, выполненную opendkim и сравнить его с тем из Port25 (помните неправильно удаленный пробел). Если возможно, заблокируйте также источник отправленного сообщения и попытайтесь увидеть разницу между отправленным и полученным телом.
Обновление: комментарии к сообщениям с включенным FixCRLF:
Кажется, что phpList генерирует электронные письма, которые содержат разные окончания строк, чем CRLF, которые являются единственными, разрешенными в электронном письме. Обычно это не проблема, но, как вы можете видеть, это может вызвать проблемы с DKIM, так как разные окончания строки дают разные хэши.
сообщение с "FixCRLF yes" для порта 25:
У opendkim, похоже, есть ошибка в алгоритме канонизации. Линия > </body></html>
в сообщении на порт 25 ошибочно ></body></html>
(пространство удалено). Так как верификатор в Port25 имеет ту же ошибку (так как он, вероятно, также использует opendkim), сигнатура ошибочно отображается как действительная в Port25.
Похоже, что это не является причиной сбоя при отправке сообщения в gmail, но может вызвать проблемы в будущем, если сообщения будут отправлены получателю, который использует другой верификатор, отличный от opendkim. Лучше всего сообщить об этой проблеме им. А пока вы можете удалить пробел самостоятельно перед отправкой сообщения.
сообщение с "FixCRLF yes" для gmail:
Письмо, полученное с помощью gmail, содержит меньше разрывов строк, чем полученное с порта 25. Таким образом, если отправленные сообщения уже не отличаются, сообщение было изменено. Включите опцию "KeepTeilitaryFiles" в opendkim, чтобы увидеть тело, подписанное opendkim.
Возможно, не лучший ответ, но я решил эту проблему, используя Amavis вместо opendkim. Убедитесь, что вы отключили opendkim, потому что двойная подпись не разрешена.
Это руководство, которое я использовал: http://gogs.info/books/debian-mail/chunked/antispam.dkim.html