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]

Aucune réponse