Problème avec l'envoi de mails chez ovh

Résolu
krissnice Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
krissnice Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Étant (très largement) débutant en "webmastering", je me suis fait aider par quelqu'un qui m'a gentiment rédigé ce code, (que je comprends) qui fonctionne bien, sur les serveurs de Free, ou de 1&1.
Je l'ai utilisé pour la page contact(.php5) d'un site hébergé par OVH et là, mauvaise surprise : ça ne fonctionne pas...
Le message affiché m'indique bien que tout est ok ("votre message a bien été envoyé"), mais je ne reçois rien.

J'ai regardé sur plusieurs forum, dont un qui parlait du suivi des emails sur OVH, qu'il fallait activer, ce que j'ai fait -> pas de changement.

voici les codes :
-de la page contact.php5:
<?php
	require_once 'envoi.php5';
	if(isset($_POST['f-message']) and  isset($_POST['f-nom']) and isset($_POST['f-email']) and isset($_POST['f-prenom'])){
		if(!empty ($_POST['f-message']) and !empty ($_POST['f-nom']) and !empty($_POST['f-email']) and !empty($_POST['f-prenom'])){
			$email=$_POST['f-email'];
			$etat='';
			$email=new Email($email);
			$email->envoyer($_POST,&$etat);
		}
	else {
		echo "<div class='warning'>merci de remplir tous les champs obligatoires</div>";
		}
	}
	if(isset($etat) and  $etat=="erreur" ){
	        echo "<div class='warning'>Veuillez saisir une adresse mail valide</div>";
	}
	if(isset($etat) and  $etat=="envoyer" ){
		echo "<div class='warning'>Votre message a bien été envoyé, merci.</div>";    
	}
?>

-celui de la page envoi.php5 :
<?php
    class Email {
         private $mail;
         public function Email($mail){
                 if(preg_match("#^[a-zA-Z]([a-zA-Z0-9]*)(-|_|\.)?([a-zA-Z0-9]+@)([a-zA-Z]{3,})\.([a-zA-Z]{2,4})$#",$mail))
                 $this->mail=$mail;
         }
	 public function envoyer($tabePost,$etat){
		if(!empty ($this->mail)){
			$to='mail1@monmail.com, mail2@monmail.com';
                        $m=$this->mail;
                        $message="";
			foreach ($tabePost as $key => $value) {
			    if($key!="envoyer"){
				$cle=substr($key,2);
				if($key!='f-message'){
					$message.=$cle." : ".$value."\n";
				}
				else {  $message.="\n\n".$cle." : ".$value;}
			    }
		         }
		         mail($to,$sujet,$message,$this->mail);
		         $etat="envoyer";
     	        }
	        else {
		    $etat="erreur";
	        }
         }
  }
?>

Merci d'avance à tous ceux qui pourront m'aider.

2 réponses

graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
as tu regardé les mails indésirables?

si il est la, c'est que tu n' a pas bien redigé ton header dans le mail.
0
krissnice Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Oui, oui bien sûr, c'est la première chose que j'ai faite.
ça n'est pas dans les spams.
...
:-/
0
krissnice Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bon, ben pas grand chose à rajouter en fait : les tests d'envois sont arrivés 2 heures après...
Puis une fois la machine lancée, les mails arrivent dans la minute.
Il semblerait que ce soit juste l'histoire des suivis d'emails qui ait résolu le soucis.
wàlàààà. résolu
0