Utilizzare il componente Swiftmailer; questo è il componente più facile da usare.
http://bakery.cakephp.org/articles/mhuggins/2008/06/11/improved-swiftmailer-component
ci sono alcune modifiche che è necessario fare durante l'utilizzo di questo con CakePHP 2.0 in poi. CakePHP 2.0 fornisce una directory di visualizzazione 'E-mail', che viene utilizzata per memorizzare tutti i modelli di e-mail.
Modifiche al componente:
- Change tutto
var
dichiarazioni public
Change public $layout = 'Emails';
a public $viewPath = '/Emails';
Modificare il percorso di rendering in _getBodyText
:
$body = $this->controller->render($this->viewPath . DS . 'text' . DS . $view, $this->layout . DS . 'text'.DS.'default');
- Modificare il percorso di rendering in
_getBodyHtml
:
$body = $this->controller->render($this->viewPath . DS . 'html' . DS . $view, $this->layout . DS . 'html'.DS.'default');
- commentare le righe:
$bodyText = $this->_getBodyText($view); $message->setBody($bodyText, "text/plain");
Il componente Swiftmailer invia un'e-mail vuota se si imposta sia il testo HTML & TEXT attivo. Legge da entrambe le viste e-mail & aggiunge il corpo per il testo. Questo è il motivo per commentare queste due righe se vuoi inviare email html.
La seconda ragione è che se entrambi sono attivati & si dispone di contenuti in entrambi i file email.html.ctp
& email.text.ctp
, crea un problema di intestazione che solo il formato di testo viene visualizzato in messaggi di posta elettronica (in realtà entrambi i formati sono presenti in intestazione, ma sopprime la parte html & mostra la parte di testo).
fonte
2012-04-20 08:42:07
Lavoro come un fascino –