В настоящее время у меня проблема с использованием \ Swift_Mailer в Symfony MessageHandlerInterface. В методе __invoke этого класса я хотел бы отправить электронное письмо с Swift_Mailer.
/**
* @param MailMessage $mailMessage
*/
public function __invoke(MailMessage $mailMessage)
{
try {
$message = (new \Swift_Message('You Got Mail!'))
->setFrom('no-reply@example.be' , 'No reply')
->setTo('development@example.be')
->setBody(
'hello world',
'text/plain'
)
;
$successfulRecipientsCount = $this->mailer->send($message, $failedRecipients);
if ($successfulRecipientsCount < 1 || count($failedRecipients) > 0) {
throw new \Exception('error sending mail');
}
} catch (\Exception $e) {
$this->logger->error( $e->getMessage());
}
}
Но когда я хочу использовать эти сообщения, почтовая программа никогда не отправляет почту по назначению.
Когда я использую этот фрагмент в контроллер, он просто работает. Так что в моем конфиге нет проблем с параметрами почты.
Я знаю, что контроллер Symfony отправляет событие kernel.terminate, и Swift_Mailer использует это событие для отправки электронных писем.
Как я могу отправить событие kernel.terminate в магическом методе __invoke из MessengerHandlerInterface из Symfony?