[RESOLU] Problème avec la reception de mail

Eléphanteau du PHP | 35 Messages

21 déc. 2005, 11:38

Bonjour à tous j'ai un petit problème dans la réception des mails.

Le formulaire est en flash et envoi par l'intermédiaire d'un POST les informations.
Cependant je dois avoir un problème dans mon fichier PHP car les accents et les apostrophes s'affichent en code.

Exemple de reception
Sujet: test de fonctionnement à é l\'accent ?
Message: test de fonctionnement à é l\'accent ? test de fonctionnement à é l\'accent ? é \" \' (@ )è Numéro de téléphone: 0123456789 Numéro de GSM: 0623456789


Ci dessous mon fichier PHP
<?php
#
$MailTo="[email protected]";
#
# Formating Date   ############################################################
$nowDay=date("d.m.Y");
$nowClock=date("H:i:s",time()+3600*(1+date("I")));
#
# Formating Body content ######################################################
#
$FormContent="
Les informations suivantes ont été recues le $nowDay à $nowClock:
Prénom: $firstname
Nom: $lastname
E-mail: $MailFrom
Sujet: $Subject
Message: $Body
Numéro de téléphone: $Phone
Numéro de GSM: $Gsm
".urlencode(utf8_encode($FormContent));
#
#
mail($MailTo, "$Subject (de $firstname $lastname)", $FormContent, "From: $MailFrom");
#
#
# Autoresponder   #############################################################
#
#
       $filename = "answer.txt";
       $fd = fopen( $filename, "r" );
       $contents = fread( $fd, filesize( $filename ) );
       fclose( $fd );
       mail( "$MailFrom", "Merci de votre envoi - monsite.com", "$contents\n\n",
             "From:[email protected]\n" );
#
#
# Flashsignal Variable   ######################################################
#
$signal=1;
echo "signal=$signal";
#
###############################################################################
?>
Je pense que le problème viens du codage "".urlencode(utf8_encode($FormContent));"

Merci de vos réponses
Modifié en dernier par Tomcat92fr le 22 déc. 2005, 16:42, modifié 2 fois.
Apprendre à connaître, c'est refuser de détester sans savoir pourquoi.

Eléphant du PHP | 76 Messages

21 déc. 2005, 11:39

Tu ne recevrais pas avec outlook des fois??
La vie est une maladie mortelle sexuellement transmissible!

Eléphanteau du PHP | 35 Messages

21 déc. 2005, 11:41

Oui effectivement je recois ceci sur outlook

Pourquoi ??
Apprendre à connaître, c'est refuser de détester sans savoir pourquoi.

Eléphant du PHP | 76 Messages

21 déc. 2005, 11:43

J'ai déjà remarqué qu'outlook ne supporte pas de recevoir des mails en UTF8... :( donc essaie plutot de laisser l'encodage de base (iso 8819-15 non? c'est pas ça?? )

Pourquoi forces-tu l'utf-8 en fait? tu as une idée en tête?
La vie est une maladie mortelle sexuellement transmissible!

Eléphanteau du PHP | 35 Messages

21 déc. 2005, 11:47

C'est ce que je pense aussi mais dans le script de base il était conseillé de mettre UTF8_encode

tu me conseilles de mettre .urlencode(iso 8819-15_encode($FormContent))
ou de retire le codage ???
Apprendre à connaître, c'est refuser de détester sans savoir pourquoi.

Eléphant du PHP | 76 Messages

21 déc. 2005, 11:50

Je te dirais de retirer le codage (je n'ai pas personnellement rencontré de problème avec des mails non encodés) et de retester comme ça...

Tu peux toujours demander à tes récepteur de te prévenir (via la page qui envoie) que s'ils ne recoivent qu'un mail illisible qu'ils te mailent...
La vie est une maladie mortelle sexuellement transmissible!

Eléphanteau du PHP | 35 Messages

21 déc. 2005, 12:06

J'ai essayé différentes choses mais le mail n'est pas envoyé
$FormContent="
Les informations suivantes ont été recues le $nowDay à $nowClock:/n
Prénom: $firstname/n
Nom: $lastname/n
E-mail: $MailFrom/n
Sujet: $Subject/n
Message: $Body/n
Numéro de téléphone: $Phone/n
Numéro de GSM: $Gsm/n
"[color=darkred].urlencode($FormContent)[/color];
C'est la partie en rouge qui pose problème je ne sais pas quoi ecrire à la place

J'ai essayé
.urlencode(iso 8819-15_encode($FormContent));
Ca ne fonctionne pas

J'ai essayé sans rien et ca ne fonctionne pas non plus

:( :( :(
Apprendre à connaître, c'est refuser de détester sans savoir pourquoi.

Eléphant du PHP | 76 Messages

21 déc. 2005, 12:14

<?php
#
$MailTo="[email protected]";
#
# Formating Date   ############################################################
$nowDay=date("d.m.Y");
$nowClock=date("H:i:s",time()+3600*(1+date("I")));
#
# Formating Body content ######################################################
#
$FormContent="
Les informations suivantes ont été recues le $nowDay à $nowClock: \n
Prénom: $firstname \n
Nom: $lastname \n
E-mail: $MailFrom \n
Sujet: $Subject \n
Message: $Body \n
Numéro de téléphone: $Phone \n
Numéro de GSM: $Gsm
";
#
#
mail($MailTo, "$Subject (de $firstname $lastname)", $FormContent, "From: $MailFrom");
#
#
# Autoresponder   #############################################################
#
#
       $filename = "answer.txt";
       $fd = fopen( $filename, "r" );
       $contents = fread( $fd, filesize( $filename ) );
       fclose( $fd );
       mail( "$MailFrom", "Merci de votre envoi - monsite.com", "$contents\n\n",
             "From:[email protected]\n" );
#
#
# Flashsignal Variable   ######################################################
#
$signal=1;
echo "signal=$signal";
#
###############################################################################
?>
Ca devrait te l'envoyer normalement... non?
La vie est une maladie mortelle sexuellement transmissible!

Eléphanteau du PHP | 35 Messages

21 déc. 2005, 12:26

voila ce que je recois
test d\'accent é è à \' \" ? test d\'accent é è à \' \" ? test d\'accent é è à \' \" ?

et si je passe par
$Subject = htmlentities($_POST["Subject"], ENT_QUOTES);
Est ce que ca peut le faire ??
Apprendre à connaître, c'est refuser de détester sans savoir pourquoi.

Eléphant du PHP | 76 Messages

21 déc. 2005, 12:31

Essaye, je ne peux dire que ça... :oops: sinon je donne la langue au chat... :oops:
La vie est une maladie mortelle sexuellement transmissible!

Eléphanteau du PHP | 35 Messages

21 déc. 2005, 12:33

merci quand meme
Si quelqu'un dautre à une idée lumineuse merci de me le faire savoir.

Si de mon coté je trouve la réponse je vous mettrais les sources
Apprendre à connaître, c'est refuser de détester sans savoir pourquoi.

Eléphant du PHP | 76 Messages

21 déc. 2005, 12:39

Essaye quand même un peu
<?php
     $to      = '[email protected]';
     $subject = 'le sujet';
     $message = 'Bonjour ! Ceci est un test avec des accents éèàùïòóúäê';
     $headers = 'From: [email protected]' . "\r\n" .
     'Reply-To: [email protected]' . "\r\n" .
     'X-Mailer: PHP/' . phpversion();

     mail($to, $subject, $message, $headers);
 ?> 
en changeant juste le to : pour voir ce que ca donne?
La vie est une maladie mortelle sexuellement transmissible!

Eléphanteau du PHP | 35 Messages

21 déc. 2005, 12:53

Ca fonctionne pour le message mais pas pour le sujet

Donc ???
Qu'en penses tu ?
Apprendre à connaître, c'est refuser de détester sans savoir pourquoi.

Eléphant du PHP | 76 Messages

21 déc. 2005, 12:56

Donc le message passe bien mais si tu rajoutes des accents dans le sujet ils ne passent pas??

Bu... :? :tir2: :afraid:

Et si tu utilises une classe totue préécrite avec objets et tout et tout... je sais c'est lourd mais ptet que ca t'aiderait?

On va encore essayer ça avant :
<?php
     // Plusieurs destinataires
     $to  = '[email protected]' . ', '; // notez la virgule
     $to .= '[email protected]';

     // Sujet
     $subject = 'Calendrier des anniversaires pour Août';

     // message
     $message = '
     <html>
     <head>
       <title>Calendrier des anniversaires pour Août</title>
     </head>
     <body>
       <p>Voici les anniversaires à venir au mois d\'Août !</p>
       <table>
       <tr>
         <th>Personne</th><th>Jour</th><th>Mois</th><th>Année</th>
       </tr>
       <tr>
         <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
       </tr>
       <tr>
         <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
       </tr>
       </table>
     </body>
     </html>
     ';

     // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
     $headers  = 'MIME-Version: 1.0' . "\r\n";
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

     // En-têtes additionnels
     $headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n";
     $headers .= 'From: Anniversaire <[email protected]>' . "\r\n";
     $headers .= 'Cc: [email protected]' . "\r\n";
     $headers .= 'Bcc: [email protected]' . "\r\n";

     // Envoi
     mail($to, $subject, $message, $headers);
?> 
La vie est une maladie mortelle sexuellement transmissible!

Eléphanteau du PHP | 35 Messages

21 déc. 2005, 13:12

voila le résultat

Calendrier des anniversaires pour AoXt

Voici les anniversaires à venir au mois d'Août !
Personne Jour Mois Année
Joe 3rd August 1970
Sally 17th August 1973

le tableau est aligné
Apprendre à connaître, c'est refuser de détester sans savoir pourquoi.