6

購入を確認するには、ショッピング カートの詳細を記載した電子メールを顧客に送信する必要があります。適切な CSS を使用するように HTML テンプレートをテストしたいと思います。もちろん、それに到着するデータをチェックしたいと思います。電子メールでテンプレートがどのようにレンダリングされるかを確認するには、電子メール パラメータを設定する代わりにどのコードを使用すればよいですか?

私は CakePHP を初めて使用するので、ご協力をお願いします。

前もって感謝します。

〜ホセ

4

5 に答える 5

11

これは CakePHP 1.3 ですが、2.0 でもうまくいく気がします。他にも方法があるかもしれませんが、私は任意のコントローラーでテスト アクションを作成し、メール テンプレートのレンダリング呼び出しを返します。これをチェックしてください:

function email_test()
{
    $this->layout = 'email/html/default';
    $user = $this->User->findById(1);
    $this->set('name', $user['User']['firstname']);
    $this->set('email_heading', 'Welcome to My App');
    return $this->render('/elements/email/html/welcome');
}

このアクションにより、ブラウザで電子メールがレンダリングされます。

于 2012-09-20T19:52:11.680 に答える
1
    $this->Email->to = $user_id_array[0]['User']['email'];
    $this->Email->subject = $arrTemplate[0]['EmailTemplate']['subject'];
    $this->Email->replyTo = 'Admin<admin@indianic.com>';
    $this->Email->from = 'Admin<admin@indianic.com>';
    $this->Email->sendAs = 'html';
    $this->Email->template = '/elements/email/html/warning_message';

   $this->set('email_message',$arrTemplate[0]['EmailTemplate']['body']);
   $this->Email->send();

このようにして、メールのテンプレートを設定できます

于 2012-09-20T11:54:29.473 に答える
1

これは、cakephpメールクラスを使用して送信したいブラウザでメールのhtml /プレーンテキストコンテンツを表示するために使用する簡単な方法ですApp::uses('CakeEmail', 'Network/Email');exitメール テンプレート ファイルまたは (メール レイアウト ファイル) の最後で を実行してから、メールを送信してみてください。メールの内容をレンダリングします。

HTH。

于 2016-07-26T09:58:59.290 に答える
1

テストにはデバッグ トランスポートを使用します。

より快適にしたい場合は、たとえば APP/tmp/email/.html に新しい html ファイルを作成する独自のトランスポートを記述します。参照としてデバッグ トランスポート クラスを参照してください。これを行うのは非常に簡単ですhttp://api20. Cakephp.org/view_source/debug-transport#l-34

本も参照してください - > http://book.cakephp.org/2.0/en/core-utility-libraries/email.html#using-transports

于 2012-09-19T19:35:37.930 に答える