Add protected mail function for testability

This commit is contained in:
Philipp Holzer 2020-09-22 20:52:48 +02:00
parent d0505222ef
commit 545517e85f
No known key found for this signature in database
GPG key ID: 9A28B7D4FF5667BD

View file

@ -197,15 +197,34 @@ class Emailer
return true;
}
$res = mail(
$res = $this->mail(
$hookdata['to'],
$hookdata['subject'],
$hookdata['body'],
$hookdata['headers'],
$hookdata['parameters']
);
$this->logger->debug('header ' . 'To: ' . $email->getToAddress() . '\n' . $messageHeader);
$this->logger->debug('return value ' . (($res) ? 'true' : 'false'));
return $res;
}
/**
* Wrapper around the mail() method (mainly used to overwrite for tests)
* @see mail()
*
* @param string $to Recipient of this mail
* @param string $subject Subject of this mail
* @param string $body Message body of this mail
* @param string $headers Headers of this mail
* @param string $parameters Additional (sendmail) parameters of this mail
*
* @return boolean true if the mail was successfully accepted for delivery, false otherwise.
*/
protected function mail(string $to, string $subject, string $body, string $headers, string $parameters)
{
return mail($to, $subject, $body, $headers, $parameters);
}
}