Envoi mail avec script php vers hotmail

Résolu
Ovitch28 Messages postés 19 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

Profil bloqué
 
Bonjour,
moi j'utilise php-mailer avec l'authentification SMTP est sa marche.
1
Ovitch28 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
et où actives-tu l'authentification SMTP?
0
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
Profil bloqué
 
aprés faut que sa soi bien configurer dans ta class ;)
0
Ovitch28 Messages postés 19 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
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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Salut,
essaye de mettre de ca :
     $header .='Content-Type: text/html; charset="iso-8859-1"'."\n";
     $header .='Content-Transfer-Encoding: 8bit';

0
Ovitch28 Messages postés 19 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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
dans ton code tu utilises $email et après dans ta fonction mail tu utilises $mail
0
Ovitch28 Messages postés 19 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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
es tu sur de l'ortographe des adresses mails ?
0
Ovitch28 Messages postés 19 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
Ovitch28 Messages postés 19 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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   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
Ovitch28 Messages postés 19 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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Mais malheureusement je connais pas spécialement phpmailer, je l'ai jamais utilisé, j'ai toujours utiliser la fonction mail de php
0
Ovitch28 Messages postés 19 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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
La fonction mail ne fonctionne pas en local a moins de trifouiller.. il me semble
0
Ovitch28 Messages postés 19 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
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
ton script d'envoi de mail est en ligne ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ovitch28 Messages postés 19 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
Ovitch28 Messages postés 19 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
Ovitch28 Messages postés 19 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
Profil bloqué
 
derient ;) désolé de n'a pas avoir répondu et je suis content que ta résolu le problème.
0