dev-master
9999999-devExtra features for Swiftmailer - PHP mailing library
The Requires
- php ~5.6|~7.0
- swiftmailer/swiftmailer ~5.4
- psr/log ~1.0
The Development Requires
by Alex Panshin
monolog swiftmailer psr3 priority runtime spool
Extra features for Swiftmailer - PHP mailing library
This library adds two facilities two Swiftmailer library:, (*1)
To use any kind of PSR-3 compatible logger with Swift you need to register plugin with logging adatper:, (*2)
use Enl\Swiftmailer\Logger\PsrAdapter; $logger = new Logger(); // Logger MUST implement \Psr\Log\LoggerInterface $adapter = new PsrAdapter($logger); $mailer = new Swift_Mailer(); $mailer->registerPlugin(new Swift_Plugins_LoggerPlugin($adapter));
As you know, to use Spool facility for Swift_Mailer
, you need to define transport like this:, (*3)
$transport = new Swift_Transport_SpoolTransport(new Swift_MemorySpool()); $mailer = new Swift_Mailer($transport);
It is absolutely OK until you need to send this email right now... To achieve this goal, I created a wrapper for swift mailer, which does the trick:, (*4)
$realTransport = new Swift_Transport_NullTransport(); $spool = new Swift_MemorySpool(); $mailer = new Enl\Swifthmailer\Mailer($realTransport, $spool);
To send the message to a queue you should use mailer as usual:, (*5)
$mailer->send(new Swift_Message());
To immediately send exactly one message you should use immediately
function before sending:, (*6)
$mailer->immediately()->send(new Swift_Message()); // Next message will be sent to a queue! $mailer->send(new Swift_Message());
Extra features for Swiftmailer - PHP mailing library
monolog swiftmailer psr3 priority runtime spool