Email log
Email log
Привет всем. Подскажите пожалуйста в проблеме, необходимо собирать все отправленные письма с сайта в базе т.е. вести лог. К тому же нужно сохранять сам текст письма. Использую Swiftmailer, письма оформляются с помощью темплейтов view.mptl как мне получить содержимое письма. Спасибо!!!
Re: Email log
Mailer::EVENT_AFTER_SEND
Re: Email log
А как использовать эту константу?ElisDN писал(а):Mailer::EVENT_AFTER_SEND
А как получить содержимое письма?
Re: Email log
Код: Выделить всё
'mailer' => [
...
'on afterSend' => function (MailEvent $event) {
echo $event->message->toString();
echo $event->isSuccessfull;
},
],
Re: Email log
Немного по другому сделал, не через конфиг.
Ошибка, Getting unknown property: yii\mail\MailEvent::isSuccessfull
Так же еще вопрос, а как правильно вставить этот текст, тут же письмо полностью с заголовками?
Код: Выделить всё
$mailer=\Yii::$app->mailer;
$message = $mailer->compose($command->view, $command->params);
$message->setFrom($command->from);
$message->setTo($command->to ?: \Yii::$app->params['robotEmail']);
$message->setSubject($command->subject);
$mailer->on(Mailer::EVENT_AFTER_SEND,function($event){
echo $event->message->toString();
echo $event->isSuccessfull; die();
});
return $message->send();
Так же еще вопрос, а как правильно вставить этот текст, тут же письмо полностью с заголовками?
Re: Email log
Код: Выделить всё
$event->message->getSwiftMessage()->...
$event->isSuccessful
Re: Email log
ElisDN писал(а):Код: Выделить всё
$event->message->getSwiftMessage()->... $event->isSuccessful
Код: Выделить всё
$event->message->getSwiftMessage()
Пришлось делать костыльно
Код: Выделить всё
preg_match('#<html(.+?)>(.+?)</html>#s',$event->message->getSwiftMessage()->toString(),$res);
А так спасибо за информацию и наводку.