Envoi mail avec script php vers hotmail

Résolu
Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
 Profil bloqué -
Bonjour,

Voila, j'ai un probleme d'envoi de mail par l'intermédiaire d'un script php,assez simple:

$mail="votrenom@votresite.com";  
$sujet="Mon sujet";  
$message="Bonjour \n\n";  
$message.="Ceci est un test.";  
$header="X-Priority:1\n";  
if(mail($mail,$sujet,$message,$header))  
{  
 echo"Mail envoye!!!";  
}  
else  
{  
 echo"Mail non envoye...";  
}  

##j'ai essayé plusieurs scripts, mais ils se ressemblent assez##  



Je sais qu'il y a plusieurs problemes d'envoi de mail vers hotmail (mail envoyé dans courrier indésirable....) mais moi, il n'apparait meme pas et je n'ai aucun message d'erreur, de plus j'ai le meme probleme avec gmail, @free.fr et je n'en ai pas essayé d'autre.
La seule adresse qui marche est celle donné dans la société où je travaille (qui a son propre smtp si je ne me trompe pas : mail.lasociété.com).
J'ai écumé les forums en essayant plusieurs solutions qui ont marché pour d'autres (filtre courrier indésirable, smtp....) mais sans succès.
J'aimerai comprendre pourquoi le mail n'arrive jamais à destination, alors que le script marche pour l'adresse email de la société.

J'espère trouver de l'aide ici.

Merci

7 réponses

  1. Profil bloqué
     
    Bonjour,
    moi j'utilise php-mailer avec l'authentification SMTP est sa marche.
    1
    1. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      et où actives-tu l'authentification SMTP?
      0
    2. Profil bloqué
       
      require("phpmailer/class.phpmailer.php");
      $mail = new PHPMailer();
      $mail->IsSMTP(); // telling the class to use SMTP
      $mail->SMTPAuth = true; // turn on SMTP authentication
      $mail->Host = "mail@toto.com"; // SMTP server
      $mail->Username = "mail@toto.com";
      $mail->Password = "mot_de_passe";

      $mail->From = "mail@toto.com";
      //$mail->FromName = "$nom";
      $mail->AddAddress("mail@toto.com");
      0
    3. Profil bloqué
       
      aprés faut que sa soi bien configurer dans ta class ;)
      0
    4. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      SMTP Error: Could not authenticate.

      J'ai eu ce message.Je vais jeter un oeil dans la classe.
      0
    5. Profil bloqué
       
      tu te authentifie avec quel @ ? car si tu le fais avec ta @ hotmail,il y a pas d'authentification smtp ,je crois ...
      il faut que l'authentification sois bien remplis aussi dans ta class :)
      0
  2. Melooo Messages postés 1476 Statut Membre 84
     
    Salut,
    essaye de mettre de ca :
         $header .='Content-Type: text/html; charset="iso-8859-1"'."\n";
         $header .='Content-Transfer-Encoding: 8bit';
    
    
    0
    1. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci pour ta réponse.
      Malheureusement il n'y a aucun changement. Aussi bien avec hotmail que gmail.
      0
    2. Melooo Messages postés 1476 Statut Membre 84
       
      dans ton code tu utilises $email et après dans ta fonction mail tu utilises $mail
      0
    3. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      Erreur de frappe desole. Mais dans mon script avec lequel j'essai g bien 2fois $mail. De toute façon il m'aurait signaler une variable inexistante.
      En fait, je ne pense pas que l'erreur vienne du script puisqu'en choisissant comme destinataire l'adresse mail ( menant à une boite mail Outlook) de la société où je travaille, ça marche niquel.
      0
    4. Melooo Messages postés 1476 Statut Membre 84
       
      es tu sur de l'ortographe des adresses mails ?
      0
    5. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      Oui. J'ai cherché du coté de la config du smtp, dans php.ini , pour l'instant sans grand succès. J'ai téléchargé phpmailer. Je vais voir ce que ça donne.
      0
  3. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
     
    Lorsque j'essai avec phpmailer, j'ai ce message d'erreur:
    SMTP Error: The following recipients failed: monemail@mondomaine.fr 
    SMTP server error: 5.7.1 Unable to relay 
    

    Ca inspire quelqu'un?
    0
    1. Melooo Messages postés 1476 Statut Membre 84
       
      Ca veut dire que ton message n'est pas parti, euh ton adresse mail c'est la bonne la ? ou c'est un exemple ?
      0
  4. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
     
    Non c'est un exemple, et voila le script que j'utilise et qui me donne l'erreur précédente:
    <?php
    require "phpmailer/rep_phpmailer/class.phpmailer.php";
    	$mail = new PHPmailer();
    	$mail->IsSMTP();
    	$mail->Host='smtp.numericable.fr';
    	$mail->From='monemail@mondomaine.fr ';
    	$mail->AddAddress('*****@hotmail.fr');
    	$mail->AddReplyTo('monemail@mondomaine.fr ');	
    	$mail->Subject='Exemple trouvé sur DVP';
    	$mail->Body='Voici un exemple d\'e-mail au format Texte';
    	if(!$mail->Send()) //Teste le return code de la fonction
    	{ 
    	  echo $mail->ErrorInfo; //Affiche le message d'erreur 
    	}
    	else
    	{	  
    	  echo 'Mail envoyé avec succès';
    	}
    	$mail->SmtpClose();
    	unset($mail);
    ?>
    


    Merci de t'intéresser à mon problème. J'avoue être un peu en galère là.....
    0
    1. Melooo Messages postés 1476 Statut Membre 84
       
      Mais malheureusement je connais pas spécialement phpmailer, je l'ai jamais utilisé, j'ai toujours utiliser la fonction mail de php
      0
    2. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      Pour moi c'est pareil, je viens de découvrir phpmailer aujourd'hui. J'aurais bien fait avec la fonction mail mais rien ne se passe, même pas un message d'erreur. Mais en local, c'est à dire avec l'adresse de la boite où je travaille, ça marche niquel, les 2 scripts. Dès que c'est une adresse externe, pas moyen d'envoyer un mail.
      0
    3. Melooo Messages postés 1476 Statut Membre 84
       
      La fonction mail ne fonctionne pas en local a moins de trifouiller.. il me semble
      0
    4. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      Pourtant le premier script fonctionne avec :
      $mail="nom@nomdelaboite.com";  
      
      D'ailleurs, c'est la seule adresse à laquelle je peux envoyer un mail, donc je pense que ça ne marche qu' en local dans mon cas.
      0
    5. Melooo Messages postés 1476 Statut Membre 84
       
      ton script d'envoi de mail est en ligne ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
     
    J'ai trouvé ce lien https://www.developpez.net/forums/d949834/php/langage/php-mailer-courriers-indesirables/ ,où la personne avait le meme problème que moi, cependant j'ai pas compris la solution qu'il donne à la fin :
    Au lieu de faire mon test via un script "indépendant", j'ai tout codé dans une classe existante, et tout fonctionne impeccablement.
    

    Si tu pouvais m'éclairer ce serai super.
    0
  7. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
     
    Je pense que c'est la seule partie utile pour mon problème:
    [mail function]
    ; For Win32 only.
    SMTP = 192.168.***.** //je travaille sur une machine virtuelle ubuntu, sous xp
    smtp_port = 25
    
    ; For Win32 only.
    sendmail_from = me@example.com
    
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    sendmail_path = /usr/sbin/sendmail -t -i
    
    ; Force the addition of the specified parameters to be passed as extra parameters
    ; to the sendmail binary. These parameters will always replace the value of
    ; the 5th parameter to mail(), even in safe mode.
    ;mail.force_extra_parameters =
    
    0
  8. Ovitch28 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
     
    Problème résolu: Voila le script fonctionnel
    <?php  
    error_reporting(E_STRICT);  
    date_default_timezone_set('Europe/Paris');  
    
    require_once "class.phpmailer.php";  
    require_once "class.smtp.php";  
    
    $mail = new PHPMailer();  
    $mail->SetLanguage('fr');  
    $mail->IsSMTP();  
    $mail->SMTPDebug  = false;  
    $mail->SMTPAuth   = true;  
    
    $mail->Host       = "votre smtp (souvant sous cette forme :smtp.****.fr/com)";  
    $mail->Port       = 25;  
    $mail->Username   = "username";  
    $mail->Password   = "password";  
    $mail->From       = "monadresse";  
    
    $mail->FromName   = "monnom";  
    
    //Caractéristiques du message  
    $mail->CharSet     = 'iso-8859-1';  
    $mail->ContentType = 'text/plain';  
    $mail->Encoding    = '8bit';  
    
    $mail->Subject    = "ce que vous voulez";  
    $mail->Body       = "ce que vous voulez";  
    $mail->WordWrap   = 0;  
    
    $mail->AddAddress("adressedestinataire", "nom");  
    
    //$mail->AddCC("adresse_en_copie", "nom"); //pas obligatoire  
    //$mail->AddBCC("adresse_en_bcc", "nom");  //pas obligatoire  
    
    if(!$mail->Send()) echo "PHPMailer Erreur d'envoi : ".$mail->ErrorInfo;  
    else echo " PHPMailer : Le Message a été envoyé !";  
    ?>  
    

    Encore merci à meloo et damienmv.
    0
    1. Profil bloqué
       
      derient ;) désolé de n'a pas avoir répondu et je suis content que ta résolu le problème.
      0