指定された電子メール テンプレートの html をレンダリングし、それを Mandrill Api サービスに渡すシェル クラス EmailShell を作成しました。
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);
}
}
シェルコマンドの実行中
$> ケーキメール new_user_created
次のエラーメッセージが返されます。
*PHP 致命的なエラー: クラス 'View' が C:\wamp\www\cakephp_application\app\Console\Command\EmailShell.php の 22 行目に見つかりません*
メール テンプレートの html を取得して Mandril サービスに渡すにはどうすればよいですか?