public function send(Swift_Mime_Message $message, &$failedRecipients = null) { $failedRecipients = (array) $failedRecipients; $msg = '* ' . $message->getSubject() . ' *' . PHP_EOL . PHP_EOL; if ($message instanceof CM_Mail_Message) { $msg .= $message->getText() . PHP_EOL; } else { $msg .= $message->getBody() . PHP_EOL; } $logger = $this->getLogger(); $context = new CM_Log_Context(); $context->setExtra(['type' => CM_Paging_Log_Mail::getTypeStatic(), 'sender' => $message->getSender(), 'replyTo' => $message->getReplyTo(), 'to' => $message->getTo(), 'cc' => $message->getCc(), 'bcc' => $message->getBcc()]); $logger->addMessage($msg, $this->_logLevel, $context); return count($message->getTo()) + count($message->getCc()) + count($message->getBcc()); }
public function testSend() { $logger = $this->mockObject('CM_Log_Logger'); $transport = new CM_Mail_Transport_Log($logger); $message = new CM_Mail_Message(); $message->setSubject('foo')->setSender('*****@*****.**')->setReplyTo('*****@*****.**')->addTo('*****@*****.**', 'Bar')->addCc('*****@*****.**')->addCc('*****@*****.**', 'Bar2'); $message->setBody('<p>content</p>', 'text/html'); $message->addPart('content', 'text/plain'); $failedRecipients = []; $logger->mockMethod('addMessage')->set(function ($message, $level, CM_Log_Context $context = null) { $this->assertSame('* foo *' . PHP_EOL . PHP_EOL . 'content' . PHP_EOL, $message); $this->assertSame(CM_Log_Logger::INFO, $level); $this->assertSame(['type' => CM_Paging_Log_Mail::getTypeStatic(), 'sender' => ['*****@*****.**' => null], 'replyTo' => ['*****@*****.**' => null], 'to' => ['*****@*****.**' => 'Bar'], 'cc' => ['*****@*****.**' => null, '*****@*****.**' => 'Bar2'], 'bcc' => null], $context->getExtra()); }); $numSent = $transport->send($message, $failedRecipients); $this->assertSame(3, $numSent); $this->assertSame([], $failedRecipients); }
public function testAddDelete() { $logger = CM_Service_Manager::getInstance()->getLogger(); $this->assertSame(0, (new CM_Paging_Log_Mail([CM_Log_Logger::INFO]))->getCount()); $this->assertSame(0, (new CM_Paging_Log([CM_Log_Logger::INFO]))->getCount()); $context1 = new CM_Log_Context(); $context1->setExtra(['type' => CM_Paging_Log_Mail::getTypeStatic(), 'foo' => 'foo']); $logger->info('mail foo', $context1); $context2 = new CM_Log_Context(); $context2->setExtra(['type' => CM_Paging_Log_Mail::getTypeStatic(), 'bar' => 'bar']); $logger->info('mail bar', $context2); $context3 = new CM_Log_Context(); $context3->setExtra(['baz' => 'baz']); $logger->info('not mail', $context3); $this->assertSame(2, (new CM_Paging_Log_Mail([CM_Log_Logger::INFO]))->getCount()); $this->assertSame(3, (new CM_Paging_Log([CM_Log_Logger::INFO]))->getCount()); $age = 7 * 86400 + 1; CMTest_TH::timeForward($age); (new CM_Paging_Log_Mail([CM_Log_Logger::INFO]))->cleanUp(); $this->assertSame(0, (new CM_Paging_Log_Mail([CM_Log_Logger::INFO]))->getCount()); $this->assertSame(1, (new CM_Paging_Log([CM_Log_Logger::INFO]))->getCount()); }
private function _log($subject, $text) { $msg = '* ' . $subject . ' *' . PHP_EOL . PHP_EOL; $msg .= $text . PHP_EOL; $log = new CM_Paging_Log_Mail(); $log->addMail($this, $msg); }