phpmailer

Eléphant du PHP | 68 Messages

08 nov. 2005, 21:36

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!

Mammouth du PHP | 19672 Messages

08 nov. 2005, 22:05

Est-ce que ton fournisseur d'accès est bien free.fr ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 68 Messages

08 nov. 2005, 22:05

oui pour le moment! mais après ça va changer!

je souhaite utiliser phpmailer plutot que la fonction mail

Mammouth du PHP | 19672 Messages

08 nov. 2005, 22:21

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 68 Messages

08 nov. 2005, 23:00

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!

Mammouth du PHP | 19672 Messages

08 nov. 2005, 23:02

Et à tout hasard, est-ce que ça fonctionne en utilisant directement la fonction mail() ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 68 Messages

09 nov. 2005, 08:35

oui elle fonctionne!

Mammouth du PHP | 19672 Messages

09 nov. 2005, 09:01

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: