protected function _canonicalizeBody($string) { if (!$this->_peclLoaded) { return parent::_canonicalizeBody($string); } if (false && $this->dropFirstLF === true) { if ($string[0] == "\r" && $string[1] == "\n") { $string = substr($string, 2); } } $this->dropFirstLF = false; if (strlen($string)) { $this->_dkimHandler->body($string); } }
public function testSigningSimpleRelaxed256() { $headerSet = $this->_createHeaderSet(); $messageContent = "Hello World"; $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))) . '/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); $signer->setHashAlgorithm('rsa-sha256'); $signer->setSignatureTimestamp('1299879181'); $signer->setBodyCanon('relaxed'); $altered = $signer->getAlteredHeaders(); $this->assertEquals(array('DKIM-Signature'), $altered); $signer->reset(); $signer->setHeaders($headerSet); $this->assertFalse($headerSet->has('DKIM-Signature')); $signer->startBody(); $signer->write($messageContent); $signer->endBody(); $signer->addSignature($headerSet); $this->assertTrue($headerSet->has('DKIM-Signature')); $dkim = $headerSet->getAll('DKIM-Signature'); $sig = reset($dkim); $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha256; bh=f+W+hu8dIhf2VAni89o8lF6WKTXi7nViA4RrMdpD5/U=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; c=simple/relaxed; t=1299879181; b=M5eomH/zamyzix9kOes+6YLzQZxuJdBP4x3nP9zF2N26eMLG2/cBKbnNyqiOTDhJdYfWPbLIa 1CWnjST0j5p4CpeOkGYuiE+M4TWEZwhRmRWootlPO3Ii6XpbBJKFk1o9zviS7OmXblUUE4aqb yRSIMDhtLdCK5GlaCneFLN7RQ='); }
<?php /** * 150-message-dkim.php */ require_once '../vendor/autoload.php'; require_once './config.php'; $transport = Swift_SmtpTransport::newInstance(SMTP_HOST, SMTP_PORT); $mailer = Swift_Mailer::newInstance($transport); $message = Swift_Message::newInstance(); $message->setFrom(MAIL_FROM)->setTo(MAIL_TO)->setSubject('DKIM signed mail')->setBody('This is a DKIM mail.'); // POINT of this sample $privateKey = file_get_contents(DKIM_PRIVATE_KEY); $dkimSigner = Swift_Signers_DKIMSigner::newInstance($privateKey, DKIM_DOMAIN, DKIM_SELECTOR); $message->attachSigner($dkimSigner); $result = $mailer->send($message);
protected function _canonicalizeBody($string) { if (!$this->_peclLoaded) { return parent::_canonicalizeBody($string); } dkim_body($this->_dkimHandler, $string); }
$setId = str_replace("oktick.com", MAILHOST, $n['setId']); // $subscriber->id .'.'. $campaign->id .'.'. time() . "@aruba1.generated" if (DEBUG) { $setSubject = $setSubject . "-" . date("c"); $setTo = "leancode+" . time() . "@gmail.com"; echo $setSubject . "<br>"; // $setReturnPath = "*****@*****.**"; // $setFrom = $setReplyTo = $setSender = array('*****@*****.**' => 'OKTicK Search Ltd'); // foreach ( $setFrom as $fromAddress => $fromName); } // initialise the dkim $privateKey = get_private_key(); // Generated one as the paired public key is set in DNS $selector = 'default'; //$signer = Swift_Signers_DKIMSigner::newInstance($privateKey, $domain, $selector) $signer = new Swift_Signers_DKIMSigner($privateKey, MAILHOST, $selector); $signer->setBodyCanon('relaxed')->ignoreHeader('Return-Path')->setHeaderCanon('relaxed')->setHashAlgorithm('rsa-sha1'); // make sure we are on the right domain for the links in the message $log = new Logging(); $log->lfile('/home/oktick-beta/email.log'); // set path and name of log file (optional) /* $log->lwrite("setReturnPath($setReturnPath)"); $log->lwrite("setSubject($setSubject)"); $log->lwrite("setFrom($fromAddress, $fromName)"); $log->lwrite("setTo($setTo)"); //$log->lwrite("setBody($html)"); //$log->lwrite("addPart($text)"); $log->lwrite("setId($setId)"); $log->lwrite("setReplyTo($setReplyTo)"); $log->lwrite("setSender($setSender)");