Author: Xavier De Cock (xdecock@gmail.com)
Inheritance: implements Swift_Signers_HeaderSigner
Example #1
0
 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);
     }
 }
Example #2
0
 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);
Example #4
0
 protected function _canonicalizeBody($string)
 {
     if (!$this->_peclLoaded) {
         return parent::_canonicalizeBody($string);
     }
     dkim_body($this->_dkimHandler, $string);
 }
Example #5
0
$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)");