This Flow package extends the Neos Swift Mailer by a spool for asynchronous mailing., (*1)
Configuration
The package is pre-configured to use a the file spool:, (*2)
WE:
SwiftMailerSpool:
spool:
type: 'Swift_FileSpool'
options: []
arguments:
path: %FLOW_PATH_DATA%/SwiftMailerSpool/
Usage
Different from the Neos Swift Mailer, a \Swift_Message
has to be created instead
of using the \TYPO3\SwiftMailer\Message
object. This is due to a problem on the serialization of the message that
happens in the \FileSpool
as the serialized \TYPO3\SwiftMailer\Message
does not include its private parent properties of the
\Swift_Message
., (*3)
The process is the same as with the normal SwiftMailer library., (*4)
Inject the mailer interface which now is a \Swift_SpoolTransport
object:, (*5)
/**
* @Flow\Inject
* @var \TYPO3\SwiftMailer\MailerInterface
*/
protected $mailer;
Create the message:, (*6)
$mail = new \Swift_Message();
Send the message with the mailer:, (*7)
$this->mailer->send($mail);
Now, the mail is in the spool and can really be sent by the command:, (*8)
./flow swiftmailerspool:flush