Envoi de mail avec php

Fermé
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 - 9 juin 2012 à 12:09
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 - 11 juin 2012 à 13:04
Bonjour,

Il y a t-il quelqu'un qui peut m'aider, j'ai eu un formulaire d'envoi de mail avec php mais a chaque fois que j'essaie d'envoyer le message je reçois un message qui provient du fichier echec.php, pourtant dans le code je n'ai pas vu d'erreur.

Je tiens à signalé que le formulaire a été codé par quelqu'un d'autre, je l'ai eu sur le web.

Voici le message

Un problème sur le serveur n'a pas permis l'envoi de votre message.
Merci de réessayer ultérieurement
ou de me joindre directement par mail
à l'adresse : b2k_lilcom@gmail.com


Alors fichier echec.php

<?php
session_start();
session_unset();
session_destroy();
$_POST=array();


/*vos réglages*/
$destinataire="glodybisongo@gmail.com";/*vous personnalisez*/
$gestionlogsuspectechec=1;
/*0 ou false ... invalide la gestion des echecs de logs*/


/*ne pas toucher*/
if((int)$gestionlogsuspectechec===1){
/*tracking log suspect*/
$accessby=date('m-d-Y h:i:s').' - '.$_SERVER['REMOTE_ADDR']."\r\n";
$fichier=fopen('logs/echecclients.log','a+'); 
fwrite($fichier,$accessby); 
fclose($fichier); 
}else{
//desactivé
}
  
$destinataire="glodybiss@gmail.com";/*vous personnalisez*/
$message='<hr><h3 align="center">Un problème sur le serveur n\'a pas permis l\'envoi de votre message.
<br>Merci de réessayer ultérieurement<br>
ou de me joindre directement par mail<br>
à l\'adresse : '.$destinataire.'<br /><a href="http://'.$_SERVER['HTTP_HOST'].'">RETOUR</a></h3><hr>';;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  </head>
  <body bgcolor="#ffdddd">
  <?php echo $message;?>
  </body>
</html>







A voir également:

1 réponse

aladin07 Messages postés 277 Date d'inscription vendredi 13 avril 2012 Statut Membre Dernière intervention 30 septembre 2012 30
9 juin 2012 à 13:31
Ces informations ne m'aident pas du tout, c'est juste la page de l'erreur. Envoie plutot le HTML du formulaire et le fichier php qui se trouve dans <form action="fichier.php"
0
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 9
11 juin 2012 à 13:04
Le fichier action c'est celui-ci, sorry pour le retard

<?php
error_reporting(E_ALL);
@ini_set('display_errors', 1);
/*Desactiver le rapport d'erreurs*/
/*error_reporting(0); online on affiche aucunes erreurs succeptibles
d'aider un attaquant potentiel*/
session_start();
$mail_dest='glodybisongo@hotmail.com';/*mail admin ou contact commercial ...*/
$revenir = './index.php'; /*chemin au formulaire*/
$err=false;/*pas d erreurs au depart*/
$gestionlogsuspect=1;/*0 ou  false ... invalide la gestion des logs*/
$_SESSION['form']=null;/*vidage*/
/******************************************************************************/
function checkMail($mail=null){
if(preg_match("/^[\d\w\/+!=#|$?%{^&}*''~-][\d\w\/\.+!=#|$?%{^&}*''~-]*@[A-Z0-9][A-Z0-9.-]{1,61}[A-Z0-9]\.[A-Z]{2,6}$/ix",$mail)){
return true;
}else{
return false;
}
}
/******************************************************************************/
function sendMessage($destinataire=null,$message=null,$envoyeur=null){

static $_destinataire;
static $_message;
static $_sujet;
static $_envoyeur;
static $_header;

$_destinataire=$destinataire;
$_message=$message;
$_envoyeur=$envoyeur;
//$_sujet='via monsite.com';
$_sujet='Message via : '.$_SERVER['HTTP_HOST'];

/*le message*/
$_message .= "IP : ".$_SERVER["REMOTE_ADDR"]." en date du ".date('d-m-Y H:i:s')."\r\n";
$_message=wordwrap($_message,200);
$_headers='to: '.$_destinataire."\r\n";
$_headers.='from: <'.$_envoyeur.'>'."\r\n";
$_headers.='MIME-VERSION:1.0'."\r\n";
$_headers.='content-type: text/html; charset="iso-8859-1"'."\r\n";
/*Envoi du mail */
  if(@mail($_destinataire,$_sujet,$_message,$_headers)){
  $_POST=array();
  return true;
  }else{ 
  header('Location: echec.php');exit;
  }

}

$form=null;
/******************************************************************************/
foreach($_POST as $k => $v){
  if(isset($_POST[$k]) && !empty($_POST[$k])){
  $v = htmlentities(strip_tags(trim($v)));
  }else{          
  }
$_POST[$k]=$v;
}
/******************************************************************************/
/*reconstitution des champs pour afficher les erreurs
dans le form du depart via une var session*/
$form .='<div style="padding: 10px;width: 100%;background-color: #dddddd;">';
/******************************************************************************/
foreach($_POST as $k => $v){
  if(empty($_POST[$k])){
  $form .= $k.' est vide<br />';
  }else{
      /*je limite à 500 caracteres les champs donc securitÚ*/
      if(strlen($v)>500){
      $form .= $k.' est trop long<br />';
      $err=true;
      //$v = str_replace('@','[arobase]',$v);/*anti-injection de spam mail*/
      /*ou regex plus filtrante*/
      }else{
      //$v=null;
      }
  }
$_POST[$k]=$v;
}
/******************************************************************************/
extract($_POST); 
/******************************************************************************/
if(!checkMail($mail)){
$style1='style="background-color: #ff8888;"';
$err=true;
$form .= '<br>Votre mail est invalide'."\r\n";
}else{
$style1='style="background-color: #88ff88;"';
}

if(isset($message) && empty($message)){
$style2='style="background-color: #ff8888;"';
$err=true;
$form .= '<br>Votre message est vide'."\r\n";
}else{
$style2='style="background-color: #88ff88;"';
}


$form .= '<br>Mail non envoyé, merci de réessayer<hr>'."\r\n";
$form .= '<br>Votre mail ? (obligatoire)<br><input type="text" name="mail" value="'.$mail.'" size="51" '.$style1.' >'."\r\n";
$form .= '<br>Votre message ? (obligatoire)<br><textarea name="message" cols="51" rows="5" '.$style2.' >'.$message.'</textarea>'."\r\n";
$form .='</div >';
$_SESSION['form']=$form;
/******************************************************************************/
/******************************************************************************/
if(isset($_SESSION['token'],$_POST['token'],$_SESSION['code'],$_POST['code'],$_POST['send'],$_POST['message'],$_POST['mail'])
 && !empty($_POST['message']) && !empty($_POST['mail']) && $_POST['send']==='Envoyer' && $_SERVER['REQUEST_METHOD']==='POST'){
    
    
    $message .= '<hr>Expéditeur :';
    $message .= '<br>Nom :'.$nom.'<br>';
    $message .= '<br>Prénom :'.$prenom.'<br>';
    $message .= '<br>Téléphone :'.$telephone.'<br>';
    $message .= '<hr>';
    
    if($token===$_SESSION['token'] && $code===$_SESSION['code'] && true===sendMessage($mail_dest,$message,$mail)){
    
        if((int)$gestionlogsuspect===1){
        /*tracking log suspect*/
        $accessby=date('m-d-Y h:i:s').' - '.$_SERVER['REMOTE_ADDR'].' - '.$mail."\r\n";
        $fichier=fopen('logs/clients.log','a+'); 
        fwrite($fichier,$accessby); 
        fclose($fichier); 
        $err='send';
        }else{
        //desactivé
        }
    
    }else{
    $err=true;
    }
/******************************************************************************/
/******************************************************************************/
    
    if($err===true){
    header('Location: '.$revenir);exit;
    }
    
    elseif($err==='send'){
    unset($_SESSION['code']);unset($_SESSION['form']);unset($_SESSION['token']);
    header('Location: merci.php');exit;
    }
    
    else{
    header('Location: echec.php');exit;
    /**/
    }

}else{

  if(file_exists($revenir)){
  header('Location: '.$revenir);exit;
  }else{
  header('Location: http://'.$_SERVER['HTTP_HOST']);exit;
  }

}
?>
0