Exemple #1
0
 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());
 }
Exemple #2
0
 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);
 }
Exemple #3
0
 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());
 }
Exemple #4
0
 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);
 }