Bonjour,
Je viens à nouveau vous solliciter car je rencontre quelques soucis d'affichage de mon mail à sa réception.
En effet, j'ai un formulaire de contact basique, avec Nom, Email, Message.
Voici le code :
Controller :
[code]function index(){
$this->layout = "contact";
if(isset($this->data)){
$this->Mail->create($this->data);
// Nettoyage de la saisie
App::import('Sanitize');
$this->data = Sanitize::clean($this->data);
$this->Mail->set('data', $this->data);
if($this->Mail->validates()){
$this->Email->charset = 'UTF-8';
$this->Email->to = "test@test.ch";
$this->Email->subject = "Demande de contact";
$this->Email->from = $this->data["Mail"]["email"];
$this->Email->replyTo = $this->data["Mail"]["email"];
$this->Email->template = "contact";
$this->Email->sendAs = "html";
$Nom = $this->data["Mail"]["nom"];
$Mail = $this->data["Mail"]["email"];
$Content = $this->data["Mail"]["message"];
$this->set(compact('Nom','Mail','Content'));
$this->Email->send();
$this->Session->setFlash("Votre message a bien été envoyé");
$this->redirect(array('action' => 'index'));
}
}
}[/code]
Le layout HTML :
[code]<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<body>
<?php echo $content_for_layout; ?>
</body>
</html>[/code]
L'élément contact.ctp en HTML :
[code]<p>Une demande vient d'être formulée sur Entr'aide 2030.</p>
<p>Date : <?php echo date('d/m/Y H:i'); ?></p>
<p>Envoyé par : <?php echo $Nom; ?></p>
<p>Adresse email : <?php echo $Mail; ?></p>
<p>Message : <?php echo $Content; ?></p>[/code]
Tout fonctionne, sauf que voici le résultat que je reçois à réception :
[code]X-Mailer: CakePHP Email Component
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<body>
<p>Une demande vient d'être formulée.</p>
<p>Date : 10/02/2011 19:12</p>
<p>Envoyé par : Innah</p>
<p>Adresse email : test@test.com</p>
<p>Message : Voici un test :)</p></body>
</html>[/code]
Comment puis-je faire pour retirer tout ce code affiché en dur ainsi que les indications concernant le component Email... ?
Si j'envoie le tout avec la fonction mail basique de PHP, je ne rencontre aucun problème... Y a-t-il une subtilité avec le composant Email de Cake ?
Merci d'avance pour votre aide.
PS : un autre sujet avait déjà été ouvert, mais je n'arrive pas à enlever "cette réponse vous a aidée"...
PS2 : en enlevant sanitize, je n'ai plus de problème d'affichage sur Hotmail version Web, mais sur Windows Live et Outlook 2007 (solutions que mes clients utilisent) le problème est toujours d'actualité... :( J'ai donc contourné provisoirement mon soucis avec mail de php, mais cela m'ennuie de ne pas pouvoir utiliser les fonctions de Cake...)
[url=http://www.grafikart.fr/questions/949]Ancienne question[/url]