Создал класс оболочки, EmailShell, который будет отображать html заданного шаблона электронной почты и передать его службе Mandrill Api.
App::uses('View', 'Core'); class EmailShell extends AppShell { function startup() { parent::startup(); $useDbConfig = 'default'; } function new_user_created(){ $html = $this->getEmailTemplateHtml('new_user'); $post_fields['message'] = array( "html" => $html, "text" => strip_tags($html), "from_email" => "from@example.com", "subject" => "subject goes here.", "to" => "to@example.com" ); $Mandril = ClassRegistry::init("Mandril"); $Mandril->sendEmail($post_fields); } private function getEmailTemplateHtml($template, $layout = 'default', $custom_data = false){ $v = new View(); $v->set("data", $custom_data); return $v->render('Emails/'.$template, $layout); } }
Теперь при выполнении команды оболочки
$> cake email new_user_created
Он возвращает мне следующее сообщение об ошибке.
* PHP Неустранимая ошибка: Class 'View' не найден в C: \ wamp \ www \ cakephp_application \ app \ Console \ Command \ EmailShell.php в строке 22 *
Как получить html моего шаблона электронной почты, чтобы я мог передать его службе Mandril?