use OCP\IConfig;
use OCP\Mail\IMailer;
+use OCP\ILogger;
/**
* Class Mailer provides some basic functions to create a mail message that can be used in combination with
private $instance = null;
/** @var IConfig */
private $config;
+ /** @var ILogger */
+ private $logger;
/** @var \OC_Defaults */
private $defaults;
/**
* @param IConfig $config
+ * @param ILogger $logger
* @param \OC_Defaults $defaults
*/
- function __construct(IConfig $config, \OC_Defaults $defaults) {
+ function __construct(IConfig $config,
+ ILogger $logger,
+ \OC_Defaults $defaults) {
$this->config = $config;
+ $this->logger = $logger;
$this->defaults = $defaults;
}
*/
public function send(Message $message) {
if (sizeof($message->getFrom()) === 0) {
- $message->setFrom(array(\OCP\Util::getDefaultEmailAddress($this->defaults->getName())));
+ $message->setFrom([\OCP\Util::getDefaultEmailAddress($this->defaults->getName())]);
}
- $failedRecipients = array();
+ $failedRecipients = [];
$this->getInstance()->send($message->getSwiftMessage(), $failedRecipients);
+ $logMessage = sprintf('Sent mail to "%s" with subject "%s"', print_r($message->getTo(), true), $message->getSubject());
+ $this->logger->debug($logMessage, ['app' => 'core']);
return $failedRecipients;
}
use OC\Mail\Mailer;
use OCP\IConfig;
use OC_Defaults;
+use OCP\ILogger;
class MailerTest extends TestCase {
/** @var IConfig */
private $config;
/** @var OC_Defaults */
private $defaults;
+ /** @var ILogger */
+ private $logger;
/** @var Mailer */
private $mailer;
->disableOriginalConstructor()->getMock();
$this->defaults = $this->getMockBuilder('\OC_Defaults')
->disableOriginalConstructor()->getMock();
- $this->mailer = new Mailer($this->config, $this->defaults);
+ $this->logger = $this->getMockBuilder('\OCP\ILogger')
+ ->disableOriginalConstructor()->getMock();
+ $this->mailer = new Mailer($this->config, $this->logger, $this->defaults);
}
public function testGetMailInstance() {