1
0
mirror of https://github.com/maximebf/php-debugbar.git synced 2025-06-09 15:45:25 +02:00
2024-02-20 10:16:27 +01:00

51 lines
1.7 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();
$mailCollector->showMessageDetail();
$mailCollector->showMessageBody();
$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')
->html('<div>Here is the message itself</div>');
$mailer->send($email);
render_demo_page();