Page 1 sur 1

phpmailer

Posté : 08 nov. 2005, 21:36
par ayiore
bonsoir je souhaiterais utiliser la class php mailer.

je me sers du tutorial suivant: http://stephaneey.developpez.com/tutori ... phpmailer/

pour faire un test j'ai recopié le code suivant en remplissant les infos smtp, destinataire... mais ça ne fonctionne pas j'ai le message d'erreur suivant qui s'affiche "SMTP Error: Could not connect to SMTP host."

je précise que j'ai décompressé le zip contenant phpmailer et que j'ai mis tout le contenu en ligne dans le même repertoire que mon fichier form2.php donc voici le code:

<?php 

require "class.phpmailer.php";					
$mail = new PHPmailer();
	$mail->IsSMTP();
	$mail->Host='smtp.free.fr';
	$mail->From='[email protected]';
	$mail->AddAddress('[email protected]');
	$mail->AddReplyTo('[email protected]');	
	$mail->Subject='Exemple trouvé sur DVP';
	$mail->Body='Voici un exemple d\'e-mail au format Texte';
	if(!$mail->Send()){ 
	  echo $mail->ErrorInfo; 
	}
	else{	  
	  echo 'Mail envoyé avec succès';
	}
	$mail->SmtpClose();
	unset($mail);
?>
</body>
quelqu'un à une idée du problème?

merci d'avance!

Posté : 08 nov. 2005, 22:05
par Cyrano
Est-ce que ton fournisseur d'accès est bien free.fr ?

Posté : 08 nov. 2005, 22:05
par ayiore
oui pour le moment! mais après ça va changer!

je souhaite utiliser phpmailer plutot que la fonction mail

Posté : 08 nov. 2005, 22:21
par Cyrano
Il y a peut-être un problème d'identification auprès du serveur SMTP, à vérifier, je ne sais pas s'il n'y a pas une méthode dans phpMailer pour ajouter une authentification par login/mot-de-passe

Posté : 08 nov. 2005, 23:00
par ayiore
effectivement quand je regarde dans le fichier read me l'exemple differt de celui donnée dans le tutorial et il y a bien une identification:

mon nouveau code:
<?php
require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();                                      // set mailer to use SMTP
$mail->Host = "smtp.free.fr";  // specify main and backup server
$mail->SMTPAuth = true;     // turn on SMTP authentication
$mail->Username = "blabla";  // SMTP username
$mail->Password = "blabla"; // SMTP password

$mail->From = "[email protected]";
$mail->FromName = "jybe";
$mail->AddAddress("[email protected]");                  // name is optional
$mail->AddReplyTo("[email protected]");


$mail->Subject = "Here is the subject";
$mail->Body    = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

echo "Message has been sent";
?>
malgré ça toujours le message d'erreur: Mailer Error: SMTP Error: Could not connect to SMTP host.

les identifiants et mot de passe smtp c'est bien mon login et mon de passe de mon ftp free? si c'est le cas je ne comprends pas pourquoi cela ne marche pas!

Posté : 08 nov. 2005, 23:02
par Cyrano
Et à tout hasard, est-ce que ça fonctionne en utilisant directement la fonction mail() ?

Posté : 09 nov. 2005, 08:35
par ayiore
oui elle fonctionne!

Posté : 09 nov. 2005, 09:01
par Cyrano
Alors il y a peut-être un problème avec l'utilisation du SMTP par phpMailer: je ne m'en suis à peu près jamais servi, mais je crois me souvenir qu'on peut ne pas l'utiliser auquel cas la classe utilisera la fonction mail() au lieu d'ouvrir un socket smtp. Il faudrait vérifier chez free si les fonctions à ce niveau-là ne sont pas désactivées. :-k