Utilice el componente Swiftmailer; este es el componente más fácil de usar.
http://bakery.cakephp.org/articles/mhuggins/2008/06/11/improved-swiftmailer-component
hay algunos cambios que hay que hacer durante el uso de este con CakePHP 2.0 en adelante. CakePHP 2.0 proporciona un directorio de vista de 'Correo electrónico', que se usa para almacenar todas las plantillas de correo electrónico.
Los cambios en el componente:
- cambiar todas las
var
declaraciones a public
Cambio public $layout = 'Emails';
a public $viewPath = '/Emails';
Cambie la ruta rendir en _getBodyText
:
$body = $this->controller->render($this->viewPath . DS . 'text' . DS . $view, $this->layout . DS . 'text'.DS.'default');
- Cambie la ruta render en
_getBodyHtml
:
$body = $this->controller->render($this->viewPath . DS . 'html' . DS . $view, $this->layout . DS . 'html'.DS.'default');
- comentar las líneas:
$bodyText = $this->_getBodyText($view); $message->setBody($bodyText, "text/plain");
El componente Swiftmailer envía un correo electrónico en blanco si establece HTML & TEXTO activo. Se lee en las vistas de correo electrónico & agrega el cuerpo para el texto. Esa es la razón para comentar estas dos líneas si desea enviar correos electrónicos html.
La segunda razón es que si ambos están activados & tiene contenido en ambos email.html.ctp
& email.text.ctp
archivos, se crea un problema de cabecera en que sólo el formato de texto se muestra al utilizar mensajes de correo electrónico (en realidad, ambos formatos se encuentran presentes en la cabecera, pero suprime la parte html & muestra la parte de texto).
Funciona como un encanto –