使用CakePHP发送带有HTML / CSS的电子邮件

时间:2015-05-26 14:29:34

标签: php cakephp html-email

我正在尝试做一个“简单”的事情,需要发送一个程式化的电子邮件,不想只发送文本,需要插入HTML标签和CSS。在使用CakePHP之前,我穿了PHPMailer,在那里我可以发送带有HTML和CSS的电子邮件。

我正在开发一个使用CakePHP框架的项目。 在文档中,在我看来,他有可能以与我相同的方式发送带有嵌入式CSS的电子邮件,但所有发送的电子邮件都会显示HTML标签,就好像它们是简单的文本一样。

$ Email = new CakeEmail ('smtp');
$ Email-> template ('contact');
$ Email-> emailFormat ('html');
$ Email-> to ('****************');
$ Email-> subject ('Contact - Contact Us');
$ Email-> viewVars (array ('contact' => $ this-> request-> data));
$ Email-> send ();

这是我用来发送电子邮件和查看的代码:

<Html>
<Body>
    <P> <strong> Contact Received </ strong> </ p>

    ? <P> Date: <strong> <? Php echo date ("d / m / Y"); ?> </ Strong> </ p>
    <P> Name: <strong> </ strong> </ p> <? Php echo $ contact ['Contact'] ['name']?>
    <P> Telephone: <strong> <? Php echo $ contact ['Contact'] ['phone']?> </ Strong> </ p>
    <P> Email: <strong> <? Php echo $ contact ['Contact'] ['email']> </ strong> </ p>
    <P> Subject: <strong> <? Php echo $ contact ['Contact'] ['subject']?> </ Strong> </ p>
    <P> Message: <strong> <? Php echo $ contact ['Contact'] ['message']?> </ Strong> </ p>
</ Body>

但是当我离开参数$email-> emailFormat ('html');发送的消息到空白时,当我删除此参数时,保留默认(文本)消息以及HMTL在屏幕上到达,就好像它是纯文本一样,如果我把它放入“两个”都没有做任何事情。

此布局:

<?php echo $this->fetch('content'); ?>

1 个答案:

答案 0 :(得分:0)

我不确定出了什么问题,但是在他们成功解决之后:

首先,我删除了电子邮件布局的主要男孩html标签 其次,我注意到我的模板的html文件夹是空的,而模板txt文件夹被重视,在html文件夹中添加了所有工作文件的值。