2 votes

CakeEmail - Envoi manuel de messages en HTML et en texte brut

Je veux envoyer un courriel en texte brut et en html à partir de CakePHP en utilisant la fonction intégrée, mais sans toucher aux fichiers .ctp.

Voici ce que je veux du CakeEmail :

//Send email to user
$email = new CakeEmail('default');
$email->to($customers['Customer']['email']);
$email->subject('Password reset');
$email->htmlMessage('<div>Reset the password</div>');
$email->textMessage('Password the reset');
$email->send();

Mais apparemment, ces fonctions n'existent pas, alors quelqu'un connaît-il une solution alternative ? Je ne veux pas toucher au dossier Email de CakePHP, car la mise en page et le contenu des emails sont générés dynamiquement.

Version 2.0.6 de Cake

Fondamentalement, je veux une version CakePHP de ce code : http://www.daniweb.com/web-development/php/threads/2959/sending-htmlplain-text-emails Capacité d'envoyer des courriels en HTML et en texte brut.

2voto

mark Points 15535

C'est en fait assez simple. Je le fais de cette façon (avec du texte html) :

$this->Email->emailFormat('both');

$text = trim(strip_tags($html));
$this->Email->viewVars(compact('text', 'html'));

if ($this->Email->send()) {...}

il suffit de répercuter les variables dans les ctps de vue correspondants.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X