Couleur et formulaire php.

vize27 Messages postés 3 Statut Membre -  
mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   -
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. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 341
     
    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+
    0
  2. vize27 Messages postés 3 Statut Membre
     
    Merci beaucoup mpmp93 !

    Malheureusement, je continue à recevoir un email avec des "Expéditeur" au lieu d"expéditeur"... :-(
    0
    1. vize27 Messages postés 3 Statut Membre
       
      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>
      0
    2. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 341
       
      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+
      0