Couleur et formulaire php.

Bonjour,

J'ai réalisé un formulaire qui lorsque l'on clique sur le bouton "envoyer", renvoie vers une page en php qui permet :
- d'une part à l'utilisateur d'avoir un message de remerciement et de confirmation d'envoi
- d'autre part, au propriétaire du site web de recevoir par email toutes les informations remplies.

Ma question est la suivante : Comment rendre l'email reçu par le propriétaire du site, plus sympa. Actuellement, il n'y a aucune couleur, aucune mise en forme, les "é" deviennent des "é"...etc

Merci beaucoup pour votre aide.

Voici le code de ma page en php :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<?
print('<link rel="stylesheet" href="../../templates/hotel.css" type="text/css">');
$adresse="en@vizelangues.com";
$from="Expéditeur: $prenom1 $nom1 $tel1<$mail1>\r\n";
$from.="Répondre à: <$mail1>\n";
if (mail($adresse,$nom1,$from,$commentaires))
echo("<center><font color=black><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");
else
echo("<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href=\"mailto:$adresse\">classiquement</a>");
?>
</body>
</html>

2 réponses

  1. Bonjour,

    Votre en-tête HTML:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    </head>

    Il n'y a aucun encodage.

    je vous suggère d'utiliser ce type d'en-tête, compatible HTML5:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset='UTF-8'>
    </head>

    pour page encodée UTF-8 (gère toues les alphabets)

    <meta charset='ISO-8859-2'>

    pour page française avec caractère € sans entité €

    A+
    1. Merci beaucoup mpmp93 !

      Malheureusement, je continue à recevoir un email avec des "Expéditeur" au lieu d"expéditeur"... :-(
      1. le code :

        <!DOCTYPE html>
        <html>
        <head>
        <meta charset='UTF-8'>
        </head>
        <body>
        <?
        print('<link rel="stylesheet" href="../../templates/hotel.css" type="text/css">');
        $adresse="en@vizelangues.com";
        $from="Expéditeur: $prenom1 $nom1 $tel1<$mail1>\r\n";
        $from.="Répondre à: <$mail1>\n";
        if (mail($adresse,$nom1,$from,$commentaires))
        echo("<center><font color=black><br><br><br><h2>Formulaire envoyé ! Je vous répondrai rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");
        else
        echo("<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href=\"mailto:$adresse\">classiquement</a>");
        ?>
        </body>
        </html>
      2. Bonjour,

        Concernant cette ligne par exemple:
        $from="Expéditeur: $prenom1 $nom1 $tel1<$mail1>\r\n";

        il faut que le code source du script php soit également encodé en UTF-8.

        Si vous utilisez PSPAD comme éditeur - ou si vous êtes sous Linux, il faut vérifier que vous effectuez bien une sauvegarde du code source en encodage UTF-8.

        Il y a Zend Framework qui vous gérerait ça au niveau du mail:

        // Utilisaton module Mail de Zend Framework
        // set_include_path('Zend/');
        require_once 'Zend/Loader.php';
        Zend_Loader::loadClass ('Zend_Mail' );
        $mail = new Zend_Mail('UTF8');
        $mail->setBodyHtml($Message);
        $mail->setFrom($_POST['from']);
        $mail->addTo('mon.mail@gmail.com');
        $mail->addBcc('mail.destinataire@orange.fr');
        $mail->setSubject(stripslashes($_POST['sujet']));
        
            try {
                $mail->send();
            } catch (Exception $e) {
                echo "Mailer Erreurs: ". $e->getMessage();
                die;
            }


        Plus d'infos ici:

        http://framework.zend.com/manual/fr/zend.mail.html

        A+