fonction mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fonction mail

Re: fonction mail

par medianeweb » 05 janv. 2012, 17:09

Tu peux tester le retour de la fonction mail :
If (mail(...)
{
   echo 'mail ok';
} 
else 
{
   echo 'mail ko';
} 

Bonne idée, j'ai essayé. Alors, la bonne nouvelle, c'est qu'il me dit "Mail ok" ! Bon, je reçois toujours pas le mail, mais c'est ce qu'il me dit !
Ca pourrait vouloir dire quoi ?

@Shenryu :
Je n'ai a priori aucune autre erreur... Ou alors bien cachée !
Concernant le log de php ou d'apache, par contre, pardon de mon ignorance, comment je vérifie ?

Re: fonction mail

par Shenryu » 05 janv. 2012, 16:55

Tu n'as pas d'autres erreurs ? Rien dans la log de php ou d'apache ?

Re: fonction mail

par Mazarini » 05 janv. 2012, 16:53

Tu peux tester le retour de la fonction mail :
If (mail(...)
{
   echo 'mail ok';
} 
else 
{
   echo 'mail ko';
} 

Re: fonction mail

par medianeweb » 05 janv. 2012, 16:33

Merci Shenryu pour ton message et l'erreur relevée !
J'ai fait comme t'as dit : corrigé l'erreur (d'ailleurs c'est bizarre que je n'ai pas eu de message d'erreur, appelé la fonction mail de manière toute simple et non ça ne marche toujours pas #-o
J'ai ajouté une sortie error_reporting(E_ALL | E_STRICT); mais ça ne me donne aucune info de plus, sinon que visiblement ma variable de session n'était pas utile. Soit, je l'ai retiré, et effectivement, ça ne change rien à l'exécution du scripte.

Moogle, oui, j'ai vérifié toutes les valeurs, et tout est ok de ce côté là. Evidemment, j'ai jeté un oeil dans mon dossier spam et non, rien non plus :(

J'aimerais ne pas avoir à faire appel à phpmailer, dans la mesure où j'utilise la fonction mail dans d'autres scripte et tout fonctionne normalement. Je suis jamais fan d'utiliser des classe quand on peut faire sans...

Vous auriez d'autres idées ?

Re: fonction mail

par Shenryu » 05 janv. 2012, 10:59

Salut,

Est-ce que ta sortie d'erreur est activée ? Sinon ajoute error_reporting(E_ALL | E_STRICT); en haut de ton script le temps de corriger.

Sinon tu as une erreur ligne 14.
$message .= "..." alors que ta variable n'est pas initialisée auparavant. Tu dois soit faire $message = "...", soit initialiser $message = "" et inclure ton texte derrière.

Essaye d'appeler ta fonction mail de manière toute simple pour commencer et de voir si tu reçois le mail.
mail($email, $subject, $message);

Re: fonction mail

par moogli » 04 janv. 2012, 23:18

Salut,

À tu vérifier les valeurs que tu récupère dans la requête ?

À tu verifié dans le dossier spam ?

Essai avec une classe comme phpmailer si ça passe.


@+

fonction mail

par medianeweb » 04 janv. 2012, 20:32

Ca devrait pourtant marcher, mais je ne reçois jamais le mail.
Il s'agit d'un code pour les internautes qui auraient oublié leur mdp de connexion. J'ai donc fait un formulaire simple: entrez votre email, qui après validation, cherche le mdp + login dans la BD et envoie les données par mail au mail récupéré dans le formulaire.
Je récupère bien tout, j'ai tout bien fait (je crois), mais ça n'envoie pas le mail. Quelqu'un aurait une idée ?

Par avance, merci.

Ci dessous mon code :
<?
$email_personne = $_POST['email_saisi'];

$rech_personne = "SELECT MOT_DE_PASSE_PERSONNE, LOGIN_PERSONNE
FROM PERSONNE WHERE EMAIL_PERSONNE = '$email_personne'";
$res_rech_personne = mysql_query( $rech_personne );
$nb_personne = mysql_num_rows( $res_rech_personne );

if ( $nb_personne > 0 ){
while( $row_recherche = mysql_fetch_row( $res_rech_personne )) {

$login_personne = $row_recherche[0];
$mdp_personne = $row_recherche[1];
$message .= "Recuperation de vos codes de connexion : identifiant : ".$login_personne." / mot de passe : ".$mdp_personne;

$headers ='From: [email protected]'."\n";
$headers .= 'To: '.$email_personne."\n";
$headers .='Reply-To: [email protected]'."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
// echo $headers;
mail($email_personne, 'Vos codes de connexion', $message, $headers);

echo '<h3>Vos nouveaux codes de connexion vous ont &eacute;t&eacute; envoy&eacute; &agrave; l\'adresse '.$email_personne.'. V&eacute;rifiez votre boite email. Cela peut prendre quelques minutes. Si vous ne le recevez pas, v&eacute;rifiez votre boite de spam. A bient&ocirc;t sur pagescomediens.com.</h3>';


}
}


else{
$erreur = "Adresse email invalide.";

}
?>