Skip to content

Commit cb6d72c

Browse files
committed
DkimSigner: removed testmode, added getTime()
1 parent 3a2521d commit cb6d72c

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

src/Mail/DkimSigner.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,6 @@ class DkimSigner implements Signer
4343
/** @var string */
4444
private $passPhrase;
4545

46-
/** @var bool */
47-
private $testMode;
48-
4946

5047
/** @throws Nette\NotSupportedException */
5148
public function __construct(array $options, array $signHeaders = self::DEFAULT_SIGN_HEADERS)
@@ -57,7 +54,6 @@ public function __construct(array $options, array $signHeaders = self::DEFAULT_S
5754
$this->selector = $options['selector'] ?? '';
5855
$this->privateKey = $options['privateKey'] ?? '';
5956
$this->passPhrase = $options['passPhrase'] ?? '';
60-
$this->testMode = (bool) ($options['testMode'] ?? false);
6157
$this->signHeaders = count($signHeaders) > 0 ? $signHeaders : self::DEFAULT_SIGN_HEADERS;
6258
}
6359

@@ -86,7 +82,7 @@ protected function getSignature(Message $message, string $header, string $body):
8682
'q' => 'dns/txt',
8783
'l' => strlen($body),
8884
's' => $this->selector,
89-
't' => $this->testMode ? 0 : time(),
85+
't' => $this->getTime(),
9086
'c' => 'relaxed/simple',
9187
'h' => implode(':', $this->getSignedHeaders($message)),
9288
'd' => $this->domain,
@@ -168,4 +164,10 @@ protected function getSignedHeaders(Message $message): array
168164
return $message->getHeader($name) !== null;
169165
});
170166
}
167+
168+
169+
protected function getTime(): int
170+
{
171+
return time();
172+
}
171173
}

tests/Mail/Mail.dkim.sign.phpt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,20 @@ $mail->addTo('Lady Jane <[email protected]>');
2525
$mail->setSubject('Hello Jane!');
2626
$mail->setBody('Příliš žluťoučký kůň');
2727

28-
$signer = new DkimSigner([
28+
$signer = new class ([
2929
'privateKey' => $privateKey,
3030
'domain' => 'nette.org',
3131
'selector' => 'selector',
32-
'testMode' => true,
33-
], ['From', 'To', 'Subject']);
32+
], [
33+
'From',
34+
'To',
35+
'Subject',
36+
]) extends DkimSigner {
37+
protected function getTime(): int
38+
{
39+
return 0;
40+
}
41+
};
3442

3543
Assert::match(<<<'EOD'
3644
MIME-Version: 1.0

0 commit comments

Comments
 (0)