Журнал электронной почты, отправленной в БД

Можно ли регистрировать электронные письма, отправленные с помощью CakeEmail, используя новую (2.1+) систему событий?

Я надеюсь, что смогу сделать что-то подобное, только то, что у меня есть, еще ничего не делает:

// config/bootstrap.php
App::uses('CakeEmailRecord', 'Lib/Event');
App::uses('CakeEventManager', 'Event');
CakeEventManager::instance()->attach(new CakeEmailRecord());


 // /app/Lib/Event/CakeEmailRecord.php
  App::uses('CakeEventListener', 'Event');
  class CakeEmailRecord implements CakeEventListener {
      public function implementedEvents() {
          return array(
              'Network.CakeEmail.afterSend' => 'recordSend',
          );
      }
      public function recordSend($event) {
         $this->log("triggered an event");
      }
  }

Я специально спрашиваю о системе событий здесь. Я хочу знать, могу ли я использовать эту функцию для решения этой проблемы. Вопрос, помеченный как дубликат, не касается системы событий торта.


person Will    schedule 18.07.2015    source источник
comment
возможный дубликат CakePhp: событие Cake Email AfterSend   -  person ndm    schedule 18.07.2015
comment
@ndm - тот же результат, но вопрос о другом механизме. Оба обсуждаемых решения являются довольно плохими обходными путями. В идеале новая система событий могла бы стать лучшим решением.   -  person Will    schedule 19.07.2015
comment
@Will Ну, это не так, так что... в чем смысл? Если вы считаете, что класс CakeEmail мог бы извлечь выгоду из запуска событий из коробки, вы могли бы < b>предложите это в качестве улучшения, кроме того, что вы должны использовать один из этих обходных путей.   -  person ndm    schedule 19.07.2015
comment
@ndm, это не так? CakeEmail вообще не запускает никаких событий?   -  person Will    schedule 19.07.2015
comment
Нет, это не так, в этом суть связанного вопроса. В настоящее время вам придется реализовать это самостоятельно в расширенном классе электронной почты.   -  person ndm    schedule 19.07.2015
comment
хорошо, поэтому связанный вопрос не имеет хороших ответов. вариант 1 довольно расплывчатый / не уверен, что он позволяет получить доступ к таким вещам, как тема, к, от, сообщение для ведения журнала БД, а вариант 2 включает изменение существующего кода везде, чтобы использовать новый класс / функцию для использования нового класса.   -  person Will    schedule 19.07.2015