CakePhp 2.0では、CakeEmailを使用すると、新しいコンポーネントがフラッシュメッセージを出力しないようです。
$email = new CakeEmail(array('log'=>true));
$email->transport('Debug');
そして私の見解では
echo $this->Session->flash('email');
しかし、何も印刷されません。その機能(フラッシュ)は2.0で削除されましたか?
CakePhp 2.0では、CakeEmailを使用すると、新しいコンポーネントがフラッシュメッセージを出力しないようです。
$email = new CakeEmail(array('log'=>true));
$email->transport('Debug');
そして私の見解では
echo $this->Session->flash('email');
しかし、何も印刷されません。その機能(フラッシュ)は2.0で削除されましたか?
ケーキの電子メール ライブラリ、コンポーネント、またはトランスポート クラスのいずれも、セッションに触れたり、そのようなフラッシュ コンテンツを作成したりしません。私が知っている限り、彼らは決してしませんでした。ただし、電子メールの内容を DebugTransport の配列として返します。
したがって、返された配列を取得してログに記録する必要があります。
$res = $this->Email->send();
$this->Session->setFlash($res ? 'Email sent' : 'Email not sent');
またはそのようなもの。
もちろん、詳細については、cakephp 2.0 にフラッシュ機能があります。ここで確認してください。
ビューでウルフラッシュメッセージを取得したい場合は、最初にコントローラーアクションで設定する必要があります。
//controller
$this->Session->setFlash('email');
//view
echo $this->Session->flash();
// 上記が出力されます。
<div id="flashMessage" class="message">
'email'.
</div>
$response = $Email->send();
$response['headers']; // headers as string
$response['message']; // message body with attachments
$this->Session->setFlash($response['headers'].$response['message']);
レイアウト ファイルに次のものが含まれていることを確認します。
echo $this->Session->flash();
Cake 2.x では、デバッグ トランスポートはセッションでメール コンテンツを設定しません。戻り値を確認するだけ$contents = $email->send();
です。$contents にはヘッダーとメッセージが含まれるので、必要に応じて使用してください。