Script PHP de mail

Eléphanteau du PHP | 18 Messages

15 oct. 2008, 15:31

Bonjour

Voici le code qui est dans un fichier "mail.php"
<?php
$TO = "[email protected]";
$h  = "From: Site";
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://www.tepe-studio.fr/iphone/index.htm#_merci");
?>
Et voici le résultat dans mon logiciel de mail
Image

Ce que je n'arrive pas à faire :
- supprimer la ligne : "ok : Envoyer"
- mettre le mail dans la ligne d'entête répondre à
- mettre le "subjet" également dans l'entête du mail

Voila, si vous m'aider à faire cela je vous en serais éternellement reconnaissant.
"L'important pour la rivière n'est pas de se jeter dans la mer mais de rencontrer les galets"

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

15 oct. 2008, 15:50

Petite question préalable : quelle version de PHP utilises-tu ?

Rapport à ton $HTTP_POST_VARS...

Eléphanteau du PHP | 18 Messages

15 oct. 2008, 15:59

A priori il s'agit de PHP 5
"L'important pour la rivière n'est pas de se jeter dans la mer mais de rencontrer les galets"

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

15 oct. 2008, 16:00

Par ailleurs, il ne manquerait pas un "c" à subject ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 18 Messages

15 oct. 2008, 16:08

Par ailleurs, il ne manquerait pas un "c" à subject ?
merci ça à résolue un des problèmes.
Ha! on ne dira jamais assez du bien de la précision de la syntaxe

Petite question préalable : quelle version de PHP utilises-tu ?
Rapport à ton $HTTP_POST_VARS...
Tu as l'air de dire que cela n'est pas très au fait.

Il vaut mieux que je remplace cela, mais par quoi?
Merci
"L'important pour la rivière n'est pas de se jeter dans la mer mais de rencontrer les galets"

Invité
Invité n'ayant pas de compte PHPfrance

16 oct. 2008, 00:52

Tu as l'air de dire que cela n'est pas très au fait.

Il vaut mieux que je remplace cela, mais par quoi?
Merci
tu peux remplacer par $_POST['ta_variable_post'];

sinon, renseigne toi sur la classe Phpmailer, c'est une très très bonne classe (php5) qui gère absolument tous tes envois de mails!

ViPHP
AB
ViPHP | 5818 Messages

16 oct. 2008, 03:01

Comme indiqué ci-dessus remplace par $_POST['ta_variable_post']

D'ailleurs la syntaxe $HTTP_POST_VARS ne sera plus valable dans les prochaines versions de php

Eléphanteau du PHP | 18 Messages

16 oct. 2008, 15:20

Merci pour ta réponse AB mais pour les autres questions sur mon post d'origine peut tu me donner des pistes?
Ce que je n'arrive pas à faire :
- supprimer la ligne : "ok : Envoyer"
- mettre le mail dans la ligne d'entête répondre à
Merci
"L'important pour la rivière n'est pas de se jeter dans la mer mais de rencontrer les galets"

ViPHP
AB
ViPHP | 5818 Messages

16 oct. 2008, 22:36

Bonjour

Voici le code qui est dans un fichier "mail.php"
<?php
$TO = "[email protected]";
$h  = "From: Site";
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://www.tepe-studio.fr/iphone/index.htm#_merci");
?>
Ce que je n'arrive pas à faire :
- supprimer la ligne : "ok : Envoyer"
- mettre le mail dans la ligne d'entête répondre à
- mettre le "subjet" également dans l'entête du mail

Voila, si vous m'aider à faire cela je vous en serais éternellement reconnaissant.
Ben dans ton message tu récupères toutes les variables post donc aussi le champ caché de confirmation. Faudrait faire un peu de tri :!:

EDIT Y'a un tuto d'envoi de mail sur le site

Eléphanteau du PHP | 18 Messages

17 oct. 2008, 15:34

Merci AB je vais essayer de trouver ce tuto

Bon ça fait 2 heures que j'y suis et je n'y arrive pas. Voici ou j'en suis mais je ne reçois pas le mail.
<?php 
$mail=$_POST['mail']; 
$subject=$_POST['subject']; 
$message=$_POST['message']; 
 
$destinataire = "[email protected]";
$entetemail = "From: Site de tépè."; // Adresse expéditeur
$entetemail .= "Reply-To: $mail \n"; // Adresse de retour
$entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ;
$body="$mail"; 
$body="$subject"; 
$body="$message"; 
Header("Location: http://www.tepe-studio.fr/iphone/index.htm");
?>
Peut tu me dire ce que j'ai oublié

Merci
"L'important pour la rivière n'est pas de se jeter dans la mer mais de rencontrer les galets"

ViPHP
AB
ViPHP | 5818 Messages

18 oct. 2008, 19:04

Le tuto est sur ce lien
http://www.phpfrance.com/tutoriaux/inde ... r-un-email

Essaies de le reproduire (formulaire + code php) en changeant simplement l'adresse email de destination.

Ne tiens pas compte de la remarque sur le code spécifique pour online. Cela a changé depuis l'écriture du tuto et online emploie maintenant la fonction mail standard.