Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1717 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire - From

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire - From

n°2105007
kameha
Posté le 06-10-2011 à 09:44:56  profilanswer
 

Bonjour,
 
j'ai un formmail.php qui traite les données d'un formulaire.
Voici son contenu :

Code :
  1. <?php
  2. $TO = "contact@sdfdf.com";
  3. $h = "From: " . $TO;
  4. $message = "";
  5. while (list($key, $val) = each($HTTP_POST_VARS)) {
  6. $message .= "$key : $val\n";
  7. }
  8. mail($TO, $subject, $message, $h);
  9. Header("Location: confirmation.html" );
  10. ?>


 
S'avez-vous comment je pourrais faire pour que le "from" du mail que le destinataire reçoit soit l'email du formulaire remplit par l'internaute (id="email" )? Histoire de pouvoir faire répondre direct depuis le client de messagerie.
 
Merci d'avance,


Message édité par kameha le 06-10-2011 à 09:45:25
mood
Publicité
Posté le 06-10-2011 à 09:44:56  profilanswer
 

n°2105027
rufo
Pas me confondre avec Lycos!
Posté le 06-10-2011 à 10:29:31  profilanswer
 

Faut construire le header. Ex :  

Code :
  1. // Header of the e-mail
  2. $Splitter = "-----=".md5(uniqid(rand()));
  3.  
  4. $Header = "MIME-Version: 1.0\r\n";
  5. $Header .= "Content-Type: multipart/mixed; boundary=\"$Splitter\"\r\n";
  6. $Header .= "From: $From\r\n";
  7. $Header .= "\r\n";
  8. $Header .= "cc: $Cc\r\n";
  9. $Header .= "bcc: $Bcc\r\n";
  10.  
  11. // Message texte
  12. $msg .= "--$Splitter\r\n";
  13. $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
  14. $msg .= "Content-Transfer-Encoding:8bit\r\n";
  15. $msg .= "\r\n";
  16. $msg .= $HtmlMailContent;
  17. $msg .= "\r\n";
  18.  
  19. // End header
  20. $msg .= "--$Splitter--\r\n";
  21.  
  22. return mail($To, mb_encode_mimeheader($Subject), $msg, "Reply-to: $Reply\r\n".$Header);


 
C'est l'idée...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2105032
kameha
Posté le 06-10-2011 à 10:33:06  profilanswer
 

ok merci.
 
Comment ça s'inscrit dans mon code par contre?

n°2105038
rufo
Pas me confondre avec Lycos!
Posté le 06-10-2011 à 10:45:01  profilanswer
 

Voici les équivalences de variables entre ton code et le miens :
$HtmlMailContent = $Message
$Header = $h
$To = $TO
 
Mon code se lit quand même assez facilement pour que tu l'utilises dans le tiens :/ La construction suit les même étapes : header, contenu du mail, envoi..


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2105041
kameha
Posté le 06-10-2011 à 11:03:33  profilanswer
 

Merci. Jgalère un peu, désolé d'avance.
 
Donc genre ça ?

Code :
  1. // Header of the e-mail
  2. $Splitter = "-----=".md5(uniqid(rand()));
  3. $h = "MIME-Version: 1.0\r\n";
  4. $h .= "Content-Type: multipart/mixed; boundary=\"$Splitter\"\r\n";
  5. $h .= "From: $From\r\n";
  6. $h .= "\r\n";
  7. $h .= "cc: $Cc\r\n";
  8. $h .= "bcc: $Bcc\r\n";
  9. // Message texte
  10. $msg .= "--$Splitter\r\n";
  11. $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
  12. $msg .= "Content-Transfer-Encoding:8bit\r\n";
  13. $msg .= "\r\n";
  14. $msg .= $Message;
  15. $msg .= "\r\n";
  16. // End header
  17. $msg .= "--$Splitter--\r\n";
  18. return mail($TO, mb_encode_mimeheader($Subject), $msg, "Reply-to: $Reply\r\n".$h);


 
Marche pas


Message édité par kameha le 06-10-2011 à 11:03:47
n°2105042
rufo
Pas me confondre avec Lycos!
Posté le 06-10-2011 à 11:14:17  profilanswer
 

$Reply contient qq chose?
Idem pour $Subject, $Cc et $Bcc; Pour ces 2 derniers, si vides, ne pas mettre les headers cc et bcc.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2105044
kameha
Posté le 06-10-2011 à 11:22:37  profilanswer
 

ça comment à être pas mal :-)
 

Code :
  1. <?php
  2. $TO = "toto@gmail.com";
  3. // Header of the e-mail
  4. $Splitter = "-----=".md5(uniqid(rand()));
  5. $h = "MIME-Version: 1.0\r\n";
  6. $h .= "Content-Type: multipart/mixed; boundary=\"$Splitter\"\r\n";
  7. $h .= "From: $From\r\n";
  8. $h .= "\r\n";
  9. while (list($key, $val) = each($HTTP_POST_VARS)) {
  10. $message .= "$key : $val\n";
  11. }
  12. // Message texte
  13. $msg .= "--$Splitter\r\n";
  14. $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
  15. $msg .= "Content-Transfer-Encoding:8bit\r\n";
  16. $msg .= "\r\n";
  17. $msg .= $message;
  18. $msg .= "\r\n";
  19. // End header
  20. $msg .= "--$Splitter--\r\n";
  21. $Subject .= "Nouveau message depuis le site Internet";
  22. $Reply .= $Email;
  23. return mail($TO, mb_encode_mimeheader($Subject), $msg, "Reply-to: $Reply\r\n".$h);
  24. Header("Location: confirmation.html" );
  25. ?>


 
Dernière chose,
- la redirection vers confirmation.html ne joue pas, normal?
- il me dit "expediteur inconnu" dans le message reçu...
- pas de retour à la ligne a chaque ligne du message reçu


Message édité par kameha le 06-10-2011 à 11:29:17
n°2105049
rufo
Pas me confondre avec Lycos!
Posté le 06-10-2011 à 11:35:15  profilanswer
 

le type mime est du html, les \n doivent donc être des <br />
la redirection marche pas puisque tu fait un return sur mail :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2105058
kameha
Posté le 06-10-2011 à 11:44:32  profilanswer
 

et comment faire jouer la redirection?

n°2105068
kameha
Posté le 06-10-2011 à 11:57:37  profilanswer
 

ok supprimé le return simplement merci.
 
Par contre toujours "expediteur inconnu" quand je reçois le mail
Et quand je l'ouvre 1ère ligne j'ai :
de  via 88.mail-out.ovh.net


Message édité par kameha le 06-10-2011 à 12:00:36
mood
Publicité
Posté le 06-10-2011 à 11:57:37  profilanswer
 

n°2105102
rufo
Pas me confondre avec Lycos!
Posté le 06-10-2011 à 14:43:15  profilanswer
 

là, ça vient sans doute d'ovh. Y'a souvent de filtres qui sont mis en place pour éviter les spams. Peut-être qu'il faut mettre uniquement un mail dans le from qui appartient à ovh?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2105900
kameha
Posté le 12-10-2011 à 10:13:58  profilanswer
 

Hello,
 
du coup j'ai fait un test sur un autre hébergeur toujours pareil...
 
L'expediteur est toujours marqué inconnu dans GMAIL quand on affiche les mails en mode list.
Et quand j'ouvre le message, j'ai : "via 88.mail-out.ovh.net"  
Par contre, "répondre à" affiche bien l'email de la personne.
 
Revoici mon code pour info, je pense qu'il manque quelque chose :

Code :
  1. <?php
  2. $TO = "toto@gmail.com";
  3. // Header of the e-mail
  4. $Splitter = "-----=".md5(uniqid(rand()));
  5. $h = "MIME-Version: 1.0\r\n";
  6. $h .= "Content-Type: multipart/mixed; boundary=\"$Splitter\"\r\n";
  7. $h .= "From: $From\r\n";
  8. $h .= "\r\n";
  9. while (list($key, $val) = each($HTTP_POST_VARS)) {
  10. $message .= "<strong>$key</strong> : $val<br />";
  11. }
  12. // Message texte
  13. $msg .= "--$Splitter\r\n";
  14. $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
  15. $msg .= "Content-Transfer-Encoding:8bit\r\n";
  16. $msg .= "\r\n";
  17. $msg .= $message;
  18. $msg .= "\r\n";
  19. // End header
  20. $msg .= "--$Splitter--\r\n";
  21. $Subject .= "Nouveau message depuis le site Internet";
  22. $Reply .= $Email;
  23. mail($TO, mb_encode_mimeheader($Subject), $msg, "Reply-to: $Reply\r\n".$h);
  24. Header("Location: confirmation.html" );
  25. ?>


Merci


Message édité par kameha le 12-10-2011 à 10:16:58
n°2105933
rufo
Pas me confondre avec Lycos!
Posté le 12-10-2011 à 11:20:37  profilanswer
 

Mais tu mets quoi dans ton $From :??:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2105942
kameha
Posté le 12-10-2011 à 11:55:35  profilanswer
 

pas con


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire - From

 

Sujets relatifs
probleme insertion champs supplementaires formulaire phpProbleme formulaire ACCESS
pRESENTATION DES DONNEES DANS UN FORMULAIRE POUR IMPRESSIONcorrections sur formulaire
Problème formulaire contact, site flash!formulaire "get"
Formulaire emailpb récupération des données dans un formulaire
call a C function from another function !formulaire de contact et gallerie photos
Plus de sujets relatifs à : Formulaire - From


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR