Envoi mail avec script php vers hotmail

Résolu/Fermé
Ovitch28 Messages postés 19 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011 - Modifié par Ovitch28 le 7/06/2011 à 17:33
 Profil bloqué - 9 juin 2011 à 14:52
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é
8 juin 2011 à 17:24
Bonjour,
moi j'utilise php-mailer avec l'authentification SMTP est sa marche.
1
Ovitch28 Messages postés 19 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
8 juin 2011 à 17:28
et où actives-tu l'authentification SMTP?
0
Profil bloqué
8 juin 2011 à 17:34
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é
8 juin 2011 à 17:35
aprés faut que sa soi bien configurer dans ta class ;)
0
Ovitch28 Messages postés 19 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
8 juin 2011 à 17:39
SMTP Error: Could not authenticate.

J'ai eu ce message.Je vais jeter un oeil dans la classe.
0
Profil bloqué
8 juin 2011 à 17:57
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 vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
7 juin 2011 à 16:50
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 vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
7 juin 2011 à 17:22
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 vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
7 juin 2011 à 17:26
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 vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
7 juin 2011 à 17:32
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 vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
8 juin 2011 à 09:58
es tu sur de l'ortographe des adresses mails ?
0
Ovitch28 Messages postés 19 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
8 juin 2011 à 12:36
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 vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
8 juin 2011 à 16:19
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 vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
8 juin 2011 à 16:25
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 vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
8 juin 2011 à 16:42
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 vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
8 juin 2011 à 17:00
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 vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
8 juin 2011 à 17:09
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 vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
8 juin 2011 à 17:17
La fonction mail ne fonctionne pas en local a moins de trifouiller.. il me semble
0
Ovitch28 Messages postés 19 Date d'inscription vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
8 juin 2011 à 17:23
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 vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
8 juin 2011 à 17:24
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 vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
8 juin 2011 à 17:12
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 vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
8 juin 2011 à 19:20
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 vendredi 27 mai 2011 Statut Membre Dernière intervention 21 juin 2011
Modifié par Ovitch28 le 9/06/2011 à 10:13
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é
9 juin 2011 à 14:52
derient ;) désolé de n'a pas avoir répondu et je suis content que ta résolu le problème.
0