Form

Petit nouveau ! | 7 Messages

06 oct. 2011, 11:36

Bonjour,

j'ai mon fichier php qui traite mon formulaire qui est un peu buggé. Je reçois 2 emails...
Vous savez pourquoi?
De plus je voudrais que le "From" dans le mail que je reçois soit la valeur de "Email" dans le formulaire rempli par l'internaute. Histoire de pouvoir faire répondre.
<?php
$TO = "[email protected]";

// Header of the e-mail
$Splitter = "-----=".md5(uniqid(rand()));
 
$h = "MIME-Version: 1.0\r\n";
$h .= "Content-Type: multipart/mixed; boundary=\"$Splitter\"\r\n";
$h .= "From: $From\r\n";
$h .= "\r\n";


while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

// Message texte
$msg .= "--$Splitter\r\n";
$msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$msg .= $message;
$msg .= "\r\n";
 
// End header
$msg .= "--$Splitter--\r\n";

$Subject .= "Nouveau message depuis le site Internet";
$Reply .= $Email;
 
return mail($TO, mb_encode_mimeheader($Subject), $msg, "Reply-to: $Reply\r\n".$h);

Header("Location: confirmation.html");

?>
Merci d'avance pour votre aide
Modifié en dernier par Winsh le 06 oct. 2011, 12:20, modifié 1 fois.

ViPHP
ViPHP | 2577 Messages

06 oct. 2011, 12:12

Pour l'expéditeur, c'est la ligne
$h .= "From: $From\r\n"; 
qu'il faut modifier.

Autrement j'ai un gros doute sur "return mail(...", supprime le return.

Petit nouveau ! | 7 Messages

06 oct. 2011, 12:16

Merci, pour info voilà où j'en suis :
<?php
$TO = "[email protected]";

// Header of the e-mail
$Splitter = "-----=".md5(uniqid(rand()));
 
$h = "MIME-Version: 1.0\r\n";
$h .= "Content-Type: multipart/mixed; boundary=\"$Splitter\"\r\n";
$h .= "From: $From\r\n";
$h .= "\r\n";


while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val<br />";
}

// Message texte
$msg .= "--$Splitter\r\n";
$msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$msg .= $message;
$msg .= "\r\n";
 
// End header
$msg .= "--$Splitter--\r\n";

$Subject .= "Nouveau message depuis le site Internet";
$Reply .= $Email;
 
return mail($TO, mb_encode_mimeheader($Subject), $msg, "Reply-to: $Reply\r\n".$h);

Header("Location: confirmation.html");

?>
- je n'arrive pas à faire jouer la redirection confirmation.html. il faut que je suppr le return??
- il me dit "expediteur inconnu" dans le message reçu...
Modifié en dernier par Winsh le 06 oct. 2011, 12:20, modifié 1 fois.

Petit nouveau ! | 7 Messages

06 oct. 2011, 12:19

ok j'ai suppr le return ça joue à priori.

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

ViPHP
ViPHP | 2577 Messages

06 oct. 2011, 12:23

Il est possible de regarder les entetes du mail via ton client mail. Regarde les pour voir si le "from:" est correct.

Petit nouveau ! | 7 Messages

06 oct. 2011, 12:36

Dans gmail j'ai :

Code : Tout sélectionner

de via 88.mail-out.ovh.net répondre à [email protected] à [email protected] date 6 octobre 2011 12:01 objet Nouveau message depuis le site Internet envoyé par 88.mail-out.ovh.net
Quand je fais répondre, c'est tout bon.
Mais quand je suis en mode liste dans gmail j'ai bien "expediteur inconnu" dans la 1ère colonne

Petit nouveau ! | 7 Messages

12 oct. 2011, 10:45

Hello,

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 :

Code : Tout sélectionner

<?php $TO = "[email protected]"; // Header of the e-mail $Splitter = "-----=".md5(uniqid(rand())); $h = "MIME-Version: 1.0\r\n"; $h .= "Content-Type: multipart/mixed; boundary=\"$Splitter\"\r\n"; $h .= "From: $From\r\n"; $h .= "\r\n"; while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "<strong>$key</strong> : $val<br />"; } // Message texte $msg .= "--$Splitter\r\n"; $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n"; $msg .= "Content-Transfer-Encoding:8bit\r\n"; $msg .= "\r\n"; $msg .= $message; $msg .= "\r\n"; // End header $msg .= "--$Splitter--\r\n"; $Subject .= "Nouveau message depuis le site Internet"; $Reply .= $Email; mail($TO, mb_encode_mimeheader($Subject), $msg, "Reply-to: $Reply\r\n".$h); Header("Location: confirmation.html" ); ?>
Quelqu'un aurait une idée svp?
Merci d'avance,