1
0
mirror of https://github.com/maximebf/php-debugbar.git synced 2025-07-25 18:51:42 +02:00
Files
php-debugbar/demo/bridge/symfonymailer/index.php
erikn69 8f6045d465 Add SymfonyMailCollector (#554)
* Add SymfonyMailCollector

* add examples for SymfonyMailCollector
2023-09-09 00:00:50 +02:00

49 lines
1.6 KiB
PHP

<?php
use DebugBar\Bridge\Symfony\SymfonyMailCollector;
use DebugBar\DataCollector\MessagesCollector;
use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\Mailer\Event\SentMessageEvent;
use Symfony\Component\Mailer\Mailer;
use Symfony\Component\Mailer\Transport\AbstractTransport;
use Symfony\Component\Mime\Email;
include __DIR__ . '/vendor/autoload.php';
include __DIR__ . '/../../bootstrap.php';
$debugbarRenderer->setBaseUrl('../../../src/DebugBar/Resources');
$mailCollector = new SymfonyMailCollector();
$debugbar->addCollector($mailCollector);
$logger = new MessagesCollector('mails');
$debugbar['messages']->aggregate($logger);
// Add even listener for SentMessageEvent
$dispatcher = new EventDispatcher();
$dispatcher->addListener(SentMessageEvent::class, function (SentMessageEvent $event) use ($mailCollector): void {
$mailCollector->addSymfonyMessage($event->getMessage());
});
// Creates NullTransport Mailer for testing
$mailer = new Mailer(new class ($dispatcher, $logger) extends AbstractTransport {
protected function doSend(\Symfony\Component\Mailer\SentMessage $message): void
{
$this->getLogger()->debug('Sending message "'.$message->getOriginalMessage()->getSubject().'"');
}
public function __toString(): string{ return 'null://'; }
});
$email = (new Email())
->from('john@doe.com')
->to('you@example.com')
//->cc('cc@example.com')
//->bcc('bcc@example.com')
//->replyTo('fabien@example.com')
//->priority(Email::PRIORITY_HIGH)
->subject('Wonderful Subject')
->text('Here is the message itself');
$mailer->send($email);
render_demo_page();