61 lines
1.3 KiB
PHP
61 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Illuminate\Mail\Transport;
|
|
|
|
use Psr\Log\LoggerInterface;
|
|
use Symfony\Component\Mailer\Envelope;
|
|
use Symfony\Component\Mailer\SentMessage;
|
|
use Symfony\Component\Mailer\Transport\TransportInterface;
|
|
use Symfony\Component\Mime\RawMessage;
|
|
|
|
class LogTransport implements TransportInterface
|
|
{
|
|
/**
|
|
* The Logger instance.
|
|
*
|
|
* @var \Psr\Log\LoggerInterface
|
|
*/
|
|
protected $logger;
|
|
|
|
/**
|
|
* Create a new log transport instance.
|
|
*
|
|
* @param \Psr\Log\LoggerInterface $logger
|
|
* @return void
|
|
*/
|
|
public function __construct(LoggerInterface $logger)
|
|
{
|
|
$this->logger = $logger;
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function send(RawMessage $message, Envelope $envelope = null): ?SentMessage
|
|
{
|
|
$this->logger->debug($message->toString());
|
|
|
|
return new SentMessage($message, $envelope ?? Envelope::create($message));
|
|
}
|
|
|
|
/**
|
|
* Get the logger for the LogTransport instance.
|
|
*
|
|
* @return \Psr\Log\LoggerInterface
|
|
*/
|
|
public function logger()
|
|
{
|
|
return $this->logger;
|
|
}
|
|
|
|
/**
|
|
* Get the string representation of the transport.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function __toString(): string
|
|
{
|
|
return 'log';
|
|
}
|
|
}
|