PhP Mail en TLS

merfolkfr Messages postés 3 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 4 octobre 2010 - 4 oct. 2010 à 15:16
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 4 oct. 2010 à 21:10
Bonjour, je suis débutant en PHP et j'ai un soucis pour envoyer des mails. Si je vous dérange c'est que je me suis déjà bien creusé la tête et j'ai bien cherché sur le net mais la je coince.
Mon but est de gérer des stock de produits et en fonction de l'état du stock avertir par mail les personnes concernées. messagerie thunderbird, port 25, connection sécurisée TLS.
WAMP server2
Pear est installé, Mail.php et SMTP.php sont présents.

Voici mon code (mailfactory.php):

[i]<?php
require_once("Mail.php");
$recipients = "xxxxxxxxxxx@xxxxxxxx.xxxxxx.xxxxx.fr";

$headers["From"] = "xxxxxxxxxxxx@xxxxxxx.xxxxx.xxxxx.fr";
$headers["To"] = "xxxxxx@xxxxxxxxxxxx.xxxxxxxxx.xxxx.fr";
$headers["Subjet"] = "Test d envoie de mail par php";

$body = "Test1 : mail avec include avec param sans variable";

$params["host"] = "smtp.xxxxxxxx.fr";
$params["port"] = "25";
$params["auth"] = "true";
$params["username"] = "xxxxxxxx";
$params["password"] = "xxxxxxxx";

$smtp =& Mail::factory("smtp", $params);
if (PEAR::isError($smtp)) {
echo("".$smtp->getMessage()."

");
}

$mail = $smtp->send($recipients,$headers,$body);
if (PEAR::isError($mail))
{
echo("".$mail->getMessage()."

");
} else
{
echo("Mail envoyé

");
}

?>/i

l'erreur qui m'est retournée est :

Unable to find class for driver smtp

Fatal error: Call to undefined method PEAR_Error::send() in D:\wamp\www\mailfactory.html on line 23

j'ai compris qu'il s'agit d'un problème de driver.
M'en manque t il un?
Est ce que ce n'est pas la connexion sécurisée TLS qui pose un problème?
Ai je fait une erreur dans mon code?

D'avance merci et encore désolé de vous déranger.

3 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
4 oct. 2010 à 19:28
Salut,

Manifestement, LE problème vient du fait que, comme dit dans le message d'erreur, la méthode send() de la classe PEAR_Error n'existe pas. Est-ce que tu n'as pas oublié d'inclure d'autres fichiers de PEAR nécessaires ?
Les fichiers que tu as déjà inclus ont sûrement des dépendances qui ne sont pas satisfaites (il y a tellement de dépendances dans PEAR que j'ai renoncé depuis des années à l'utiliser).

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
merfolkfr Messages postés 3 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 4 octobre 2010
4 oct. 2010 à 20:50
j'ai installe pear celon ce tuto qui est tres bien fait :
http://www.6ma.fr/tuto/installer+pear+avec+wamp-455
puis j'ai telecharger sur pear les package Mail.php et SMTP.php
je les ai mis dans pear/structures
ai je commis une erreur de hierarchie en les placant la?
ou manque t il d'autre package?
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
4 oct. 2010 à 21:10
Ben c'était l'objet de ma question : est-ce qu'il manque d'autres packages ?
Moi, j'en sais rien, j'utilise pas PEAR, et je ne connais pas ces packages que tu utilises. Mais la doc de PEAR est quand même bien faite (aussi bien que celle de PHP) et indique les packaqges nécessaires pour l'utilisation d'un autre...
S'il te manque un package, tu le sauras, mais il faut que tu ailles chercher l'information.
En tout cas, ça expliquerait le fait que le script appelle une méthode non définie... Elle doit probablement l'être dans un autre package...

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
Rejoignez-nous