Swiftmailer DKIM仅在多部分电子邮件中失败

时间:2015-07-23 14:57:59

标签: php swiftmailer dkim

我试图让DKIM使用PHP中的Swiftmailer。只有设置一次主体(HTML或文本)时,它才有效并且dkim通过,但是当添加两个部分时,我得到一个"正文哈希没有验证" dkim失败。

有没有人知道使用Swiftmailer签署包含HTML和文本部分的电子邮件的正确方法?

// Create the signer    
$privateKey = file_get_contents($dkimPrivateKeyLocation);
$domainName = 'from.here';
$selector = 'default';
$signer = new Swift_Signers_DKIMSigner($privateKey, $domainName, $selector);
$signer->ignoreHeader('Return-Path');

// Create the message
$message = Swift_SignedMessage::newInstance();                  

// Attach the signer
$message->attachSigner($signer);

// Message setup
$message->setFrom('email@from.here');
$message->setTo('email@to.here');

仅限HTML 传递

$message->setSubject('Dkim Html Only Test');
$message->setBody('<p>Hello World</p>', 'text/html','UTF-8'); 

TEXT仅传递

$message->setSubject('Dkim Text Only Test');
$message->setBody('Hello World', 'text/plain','UTF-8');

HTML和文字失败

$message->setSubject('Dkim Html and Text Test');
$message->setBody('<p>Hello World</p>', 'text/html','UTF-8'); 
$message->addPart('Hello World', 'text/plain','UTF-8');

我不确定我做错了什么,SwiftMailer文档有点稀疏,所以我不确定下一步该尝试什么。我已经尝试了简单和放松的身体经典类型,但没有成功。

0 个答案:

没有答案