要确认购买,我必须使用购物车详细信息向客户发送电子邮件。我想测试HTML模板以使用适当的CSS,当然还要检查到达它的数据。 我应该使用什么代码而不是设置电子邮件参数,以观察模板在电子邮件中的呈现方式?
我是CakePHP的新手,所以非常感谢你的帮助。
提前致谢。
〜何
答案 0 :(得分:10)
这是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');
}
此操作现在将在浏览器中显示您的电子邮件。
答案 1 :(得分:1)
使用调试传输进行测试。
如果你想让它更舒服编写自己的传输,在例如APP / tmp / email / .html中创建一个新的html文件。请参阅调试传输类作为参考,这很容易做到这一点{{3 }}
另见书 - > http://api20.cakephp.org/view_source/debug-transport#l-34
答案 2 :(得分: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();
通过这种方式,您可以设置电子邮件模板
答案 3 :(得分:1)
这是我用来在浏览器中显示我要使用cakephp电子邮件类即App::uses('CakeEmail', 'Network/Email');
发送的电子邮件的html /纯文本内容的简单方法。
只需在电子邮件模板文件或(电子邮件布局文件)末尾执行exit
,然后尝试发送电子邮件。它将呈现电子邮件内容。
HTH。
答案 4 :(得分:0)
如果要在本地主机上打印电子邮件模板进行测试,则可以使用此代码。
$this->Email->send();
print_r($this->Email->htmlMessage);