Пример #1
0
$mailer = new sfMailer($dispatcher, array('logging' => true, 'delivery_strategy' => 'spool', 'spool_class' => 'TestSpool', 'spool_arguments' => array('TestMailMessage'), 'transport' => array('class' => 'TestMailerTransport')));
$transport = $mailer->getRealtimeTransport();
$spool = $mailer->getTransport()->getSpool();
$t->is($mailer->sendNextImmediately(), $mailer, '->sendNextImmediately() implements a fluid interface');
$mailer->composeAndSend('*****@*****.**', '*****@*****.**', 'Subject', 'Body');
$t->is($spool->getQueuedCount(), 0, '->sendNextImmediately() bypasses the spool');
$t->is($transport->getSentCount(), 1, '->sendNextImmediately() bypasses the spool');
$transport->reset();
$spool->reset();
$mailer->composeAndSend('*****@*****.**', '*****@*****.**', 'Subject', 'Body');
$t->is($spool->getQueuedCount(), 1, '->sendNextImmediately() bypasses the spool but only for the very next message');
$t->is($transport->getSentCount(), 0, '->sendNextImmediately() bypasses the spool but only for the very next message');
// ->getDeliveryAddress() ->setDeliveryAddress()
$t->diag('->getDeliveryAddress() ->setDeliveryAddress()');
$mailer = new sfMailer($dispatcher, array('delivery_strategy' => 'none'));
$mailer->setDeliveryAddress('*****@*****.**');
$t->is($mailer->getDeliveryAddress(), '*****@*****.**', '->setDeliveryAddress() sets the delivery address for the single_address strategy');
// ->getLogger() ->setLogger()
$t->diag('->getLogger() ->setLogger()');
$mailer = new sfMailer($dispatcher, array('delivery_strategy' => 'none'));
$mailer->setLogger($logger = new sfMailerMessageLoggerPlugin($dispatcher));
$t->ok($mailer->getLogger() === $logger, '->setLogger() sets the mailer logger');
// ->getDeliveryStrategy()
$t->diag('->getDeliveryStrategy()');
$mailer = new sfMailer($dispatcher, array('delivery_strategy' => 'none'));
$t->is($mailer->getDeliveryStrategy(), 'none', '->getDeliveryStrategy() returns the delivery strategy');
// ->getRealtimeTransport() ->setRealtimeTransport()
$t->diag('->getRealtimeTransport() ->setRealtimeTransport()');
$mailer = new sfMailer($dispatcher, array('delivery_strategy' => 'none'));
$mailer->setRealtimeTransport($transport = new TestMailerTransport());
$t->ok($mailer->getRealtimeTransport() === $transport, '->setRealtimeTransport() sets the mailer transport');