Page 1 sur 1

mail reponse automatique php

Posté : 23 mars 2008, 20:19
par reponse automatique email
bonsoir,
Je n'arrive pas a faire marcher mon script , j'ai une variable que je n'arrive pas a comprends.
merci d'avance pour votre aide
nowDay=date("d.m.Y");
$nowClock=date("H:i:s",time()+3600*(1+date("I")));
#
# Formating Body content ######################################################
#
// First, set up some variables to serve you in
// getting an email.  This includes the email this is
// sent to (yours) and what the subject of this email
// should be.  It's a good idea to choose your own
// subject instead of allowing the user to.  This will
// help prevent spam filters from snatching this email
// out from under your nose when something unusual is put.

$sendTo = "[email protected]";
$subject = "DBTP - candidature part le biais du site ";

// variables are sent to this PHP page through
// the POST method.  $_POST is a global associative array
// of variables passed through this method.  From that, we
// can get the values sent to this page from Flash and
// assign them to appropriate variables which can be used
// in the PHP mail() function.


// header information not including sendTo and Subject
// these all go in one variable.  First, include From:
//$headers = "From: " . $_POST["name"] ." ". $_POST["tel"] . " ". $_POST["about"]
$headers = "From: " . $_POST["name"] ."<" . $_POST["email"] .">\r\n";
//. "<" . $_POST["email"
//$headers = "From: " . $_POST["about"] ."\r\n";
// next include a replyto
$headers .= "Reply-To: " . $_POST["email"] ."\r\n";
// often email servers won't allow emails to be sent to
// domains other than their own.  The return path here will
// often lift that restriction so, for instance, you could send
// email to a hotmail account. (hosting provider settings may vary)
// technically bounced email is supposed to go to the return-path email
$headers .= "Return-path: " . $_POST["email"];

// now we can add the content of the message to a body variable
$message = "";
$message .= "Nom: ";
$message .= "\n";
$message .= $_POST["name"];
$message .= "\n\n";
$message .= "téléphone: ";
$message .= "\n";
$message .= $_POST["tel"];
$message .= "\n\n";
$message .= "Poste recherché: ";
$message .= "\n";
$message .= $_POST["about"];
$message .= "\n\n";
[b]$message .= "Email: ";
$message .= "\n";
$message .= $_POST["email"];[/b]
$message .= "\n\n";
$message .= "Motivation: ";
$message .= "\n";
$message .= $_POST["message"];
$message .= "\n\n";
$message .= "Localisation du poste: ";
$message .= "\n";
$message .= $_POST["from"];

#
# Flashsignal Variable   ######################################################
#


#
       $filename = "answer.txt";
       $fd = fopen( $filename, "r" );
       $contents = fread( $fd, filesize( $filename ) );
       fclose( $fd );
       mail( "[b]$MailFrom",[/b] "monadress.com (message de confirmation)", "$contents\n\n",
             "From:[email protected]\n" );

Posté : 23 mars 2008, 20:21
par Hywan
Quelle est la variable que tu n'arrives pas à comprendre ?

Posté : 23 mars 2008, 20:32
par ouckileou
Salut,

quand tu postes, pense à bien décrire le problème. Dire "ça ne marche pas" n'est pas suffisant. Explique ce que attends, ce que tu obtiens, ce que tu as essayé etc. Et effectivement si tu ne comprends pas l'utilité d'une variable, la moindre des choses est de dire laquelle.

Tu feras gagner du temps à tout le monde, toi y compris.

Posté : 23 mars 2008, 21:15
par Invité
oui excusez moi,

$message .= "Email: ";
$message .= "\n";
$message .= $_POST["email"];


mail( "$MailFrom", "monadress.com (message de confirmation)", "$contents\n\n",
"From:[email protected]\n" );

voila excusez moi encore. mais j'ai mi en majuscule sa pas marché

Posté : 23 mars 2008, 21:24
par Hywan
Regarde la documentation de la fonction mail.

Au passage, le code est vraiment optimisable, je te conseille d'apprendre le PHP correctement :). Tu trouveras de nombreux liens sur le forum.

Et je ne vois toujours pas ce qui ne va pas dans ton code. Quelle variable te dérange ?

Posté : 23 mars 2008, 21:32
par Invité
en fait je voudrais remplacer la valeur
mail( "$MailFrom", "monadress.com (message de confirmation)", "$contents\n\n",
"From:[email protected]\n" );

par $message .= "Email: ";
$message .= "\n";
$message .= $_POST["email"];


en fait il ne me renvoie pas de mail car MailFrom n'existe pas ( j'ai essayé "email") comme pour la valeur $_POST["email"]. mais rien ?

Posté : 23 mars 2008, 21:35
par Hywan
Visiblement tu n'as pas compris comment tout cela fonctionnait. Va lire le lien vers la documentation que je t'ai donné dans mon précédent message.

Posté : 23 mars 2008, 21:39
par Invité
mais je dois mettre quoi car la variable est déclaré $message .= $_POST["email"];
j'ai essaye $email et email . mais ca rien . je vois pas ou est mon erreur?

Posté : 23 mars 2008, 21:46
par Hywan
C'est juste que ça n'a rien à voir. Ta variable $message contient le code du message et (curieusement) contient une adresse provenant d'un formulaire (via $_POST['email']). Le premier argument de la fonction mail (si tu avais lu la documentation) est le destinataire, donc rien à voir avec le contenu ($message) du mail.

Dans ton code actuel, tu envoies le mail à la personne qui veut envoyer le mail ($mailFrom). Il s'envoit des mails, il va être content ;-). Comme je comprends ton code, remplace le premier argument (= paramètre) de la fonction mail par $_POST['email'].
Attention, les variables $_POST seront définies et remplies si et seulement si un formulaire a été soumis.

Posté : 23 mars 2008, 21:46
par Invité
j'ai reussi comme in grand tous seul. merci

$MailFrom=getFormatedText($_POST['email']);

#
$filename = "answer.txt";
$fd = fopen( $filename, "r" );
$contents = fread( $fd, filesize( $filename ) );
fclose( $fd );
mail( "$MailFrom", "dutheilbtp.com (message de confirmation)", "$contents\n\n",
"From:[email protected]\n" );

Mais maintenant : comme faire pour encoder les caractère comme il faut j'ai des ")àç("' a la place du texte. normal