Création
d'entreprise
Posez votre question Signaler

Envoi mail avec script php vers hotmail [Résolu]

Ovitch28 8Messages postés 27 mai 2011Date d'inscription 21 juin 2011Dernière intervention - Dernière réponse le 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
Lire la suite 

Envoi mail avec script php vers hotmail »

27 réponses
Réponse
+0
moins plus
Salut,
essaye de mettre de ca :
     $header .='Content-Type: text/html; charset="iso-8859-1"'."\n";
     $header .='Content-Transfer-Encoding: 8bit';

Ovitch28- 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.
Melooo- 8 juin 2011 à 09:58
es tu sur de l'ortographe des adresses mails ?
Ovitch28- 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.
Ajouter un commentaire
Réponse
+0
moins plus
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?
Melooo- 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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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à.....
Ovitch28- 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.
Melooo- 8 juin 2011 à 17:24
ton script d'envoi de mail est en ligne ?
Ovitch28- 8 juin 2011 à 17:35
Euh... tu me demande si tu peux y avoir accès?
Ajouter un commentaire
Réponse
+0
moins plus
J'ai trouvé ce lien http://www.developpez.net/forums/d949834/php/langage/fonctions/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.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
moi j'utilise php-mailer avec l'authentification SMTP est sa marche.
damienmv- 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 :)
Ovitch28- 8 juin 2011 à 19:08
je le fais avec mon adresse : nom@nomdemaboite.com
marseillais-upload staff- 8 juin 2011 à 19:13
fait voir ton php.ini sans le mot de passe bien sur
Ajouter un commentaire
Réponse
+0
moins plus
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 =
Ajouter un commentaire
Réponse
+0
moins plus
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.
damienmv- 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.
Ajouter un commentaire
Ce document intitulé « Envoi mail avec script php vers hotmail » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?