|
|
|
|
dois je instaler un serveur smtp ?
Non (pas nécessairement), Utilise Pear : http://www.commentcamarche.net/forum/affich-1358461 Dal |
Le problem c'est que je ne sais pas comment configurer sendmail et ensuite ba il n'y a plus la contribution du 24-janv-2004
peut on m'expliquer comment configurer mon send mail ? |
.. tu as mal vu.
La voilà (le code est de Roberto Silva) : <?
include("Mail.php");
$recipients = "mail_to@domain.mail";
$headers["From"] = "mail_from@domain.mail";
$headers["To"] = "mail_to@domain.mail";
$headers["Subject"] = "Test message";
$body = "TEST MESSAGE!!!";
$params["host"] = "smtp.server";
$params["port"] = "25";
$params["auth"] = true;
$params["username"] = "user";
$params["password"] = "password";
// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory("smtp", $params);
$mail_object->send($recipients, $headers, $body);
?>
Relis mon message cité ci-dessus sur l'usage des trois derniers paramètres, qui est particulier aux serveur smtp nécessitant une authentification. Utiliser cet objet PEAR t'évite d'avoir à paramétrer sendmail ou un autre serveur de mail, en utilisant le serveur smtp de ton FAI. Dal |
Ba merci j'ai du mal lire.....je suis desolé
Encore merci mais ca ne resould mon problem qu'en parti car j'ai 4 forum qui on comme option l'envoi de mal en cas de reponce.... hors celon ton scrip il faudrais que je mofi leur scrip.... alors peut on medire comment configurer sendmail ? |
j'ai mit le scrip et je l'ai modifier pour voir acces a mon forumulaire mais....
j'ai mit ca
include("Mail.php");
$headers["From"] = $_POST['add'];
$headers["To"] = "lamourouxvincent@wanadoo.fr";
$headers["Subject"] = $_POST['suget'];
$body = $_POST['text'];
$params["host"] = "smtp.tele2.fr";
$params["port"] = "25";
$params["auth"] = false;
$params["username"] = "lamourouxvincent";
$params["password"] = "none";
// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory("smtp", $params);
$mail_object->send($recipients, $headers, $body);
alors je supose que Mail.php est un fichier que le scrip va chercher dans les libreries..... enfin je n'arrive pas a faire envoillé un mail |
Salut skad,
Utilise phpinfo(); pour vérifier si PEAR est installé sur ton système. S'il ne l'est pas, tu peux l'obtenir là http://pear.php.net et le Package "Mail" là : http://pear.php.net/package/Mail Contrôle que tu récupères bien des variables avec quelque chose dedans. Tu pourrais essayer avec des données en dur avant. Il manque des guillements à "false" dans ta ligne $params["auth"] = false; Ne définit pas username, ni password, puisque "auth" est "false". Consulte les logs de ton serveur http pour rechercher les erreurs loguées. La doc de l'objet "Mail" dans PEAR est là : http://pear.php.net/manual/en/package.mail.mail.php Dal
|
Pour false regarde le scrip que tu m'a donne plus haut:
true n'a pas de "" et ensuite pear est present et mes variables ont des donnes |
Hmm.. en supposant toujours que le serveur smtp ne réclame pas d'authentification, retire les lignes "auth", "username" et "password" (supprime les carrément).
As-tu consulté les logs httpd ? Les fonctions "factory" et "send" de l'objet "mail" renvoient aussi des erreurs en cas de problème d'exécution. Si tu ne trouves pas la cause de ton erreur, elle est sans doutes décrite dans l'objet PEAR_Error retourné. Utilise PEAR::isError() pour savoir si celà retourne une erreur http://pear.php.net/manual/en/core.pear.pear.iserror.php et PEAR_Error::getMessage() pour récupérer le message d'erreur http://pear.php.net/manual/en/core.pear.pear-error.getmessage.php Enfin, vérifie aussi que tu as le droit d'utiliser le serveur smtp.tele2.fr .. généralement, celà suppose que tu soit connecté avec une IP attribuée par Tele2. Dal |
alors pour l'ip je peus car je suis chez tele2 comme fai
et ensuite je vais tester le reste merci |
Bon voila j'ai utilisé le scrip fourni plus haut pour voir les erreures:
j'ai donc mis se scrip (en esperant que c'est un code valide)
<?
include("Mail.php");
include("PEAR.php");
$recipients = "lamourouxvincent@wanadoo.fr";
$headers["From"] = "mail_from@domain.mail";
$headers["To"] = "lamourouxvincent@wanadoo.fr";
$headers["Subject"] = "Test message";
$body = "TEST MESSAGE!!!";
$params["host"] = "smtp.tele2.fr";
$params["port"] = "25";
$params["auth"] = false;
// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory("smtp", $params);
$mail_object->send($recipients, $headers, $body);
if (PEAR::isError (send()))
{
print "envoi raté car ".send()->getMessage ()."<br />\n";
}
?>
Et ba au final je n'ai eu aucun messages d'erreurs |
Salut Skad,
Je n'ai pas de PHP avec PEAR installé sous la main, mais voilà mon analyse. 1. "isError" est une fonction de base de PEAR. Elle nécessite un argument. La fonction teste si cet argument est un objet PEAR_Error. Comme l'indique la documentation, le résultat des fonctions PEAR ($mail_object dans ton cas pour le résultat de "factory") devient un objet PEAR_Error en cas d'erreur. 2. S'agissant du test du résultat de "send", il te faut récupérer ledit résultat dans une variable (par exemple $send_result). 3. Si $mail_object est un objet PEAR_Error, tu as alors accès, à l'intérieur de cet objet, aux fonctions et données définies par cet objet, et notamment la fonction getMessage. L'accès aux fonctions d'un objet se fait avec la syntaxe $objet->fonction(); Pareil pour "$send_result". 4. Donc, ton contrôle d'erreur devrait s'écrire plutôt comme çà : $mail_object =& Mail::factory('smtp', $params);
if (PEAR::isError($mail_object))
{
print "<p>construction de l'objet 'Mail' ratée car ";
die($mail_object->getMessage());
} else
{
print "<p>objet 'Mail' construit !";
}
$send_result = $mail_object->send($recipients,$headers,$body);
if (PEAR::isError($send_result))
{
print "<p>envoi de l'email raté car ";
die($send_result->getMessage());
} else
{
print "<p>envoyé !";
}
5. Tu n'as toujours pas indiqué si tes logs httpd contenaient des erreurs (/var/log/httpd-error.log). Dal |
Meci Dal pour cette reponce et surtout cette corection (je sais j'ai des progres a faire mais on doit tous apprendre :p)
Bon sinon pour mon http_log.....je n'y ais rien compris... Je suis incapable de te dire si il y a une erreure ou pas. mais je vais tester imediatement ton scrip merci encore |
Re :)
Bon sinon pour mon http_log.....je n'y ais rien compris... Les logs ne sont pas toujours évidents à lire. Il faut aller tout en bas du fichier pour y voir les messages d'erreur les plus récents. Dans les versions récentes de PHP, par défaut, celui-ci est paramétré pour ne pas afficher les messages sur les pages produites (pour des raisons de sécurité), mais pour les logguer seulement.. Si celà te semble compliqué, et si tes scripts PHP ne sont pas en production, tant que tu débogues tes scrits, tu peux modifier les paramètres de ton php.ini comme celà error_reporting = E_ALL display_errors = On display_startup_errors = On Après avoir relancé Apache, tu verras les erreurs et les avertissements s'afficher à mesure qu'ils sont générés (s'il y en a). Quant tes scripts sont au point, rétablit les valeurs display_errors et display_startup_errors en Off (tout en gardant log_errors = On). Dal |
Bon j'ai testé le scrip et ba il ne m'affiche rien |
Ba çà alors, c'est vraiment dommage !
Bon sérieusement.. j'ai finit par dégoter une machine installée avec PEAR. Celà "marche" chez moi. Voilà le code : <?
# include("PEAR.php");
include("Mail.php");
$recipients = "destinataire@titi.fr";
$headers["From"] = "envoyeur@toto.com";
$headers["To"] = "destinataire@titi.fr";
$headers["Subject"] = "Test message";
$body = "TEST MESSAGE!!!";
$params["host"] = "smtp.fai.net";
$params["port"] = "25";
$mail_object =& Mail::factory('smtp', $params);
if (PEAR::isError($mail_object))
{
print "<p>construction de l'objet 'Mail' ratée car ";
die($mail_object->getMessage());
} else
{
print "<p>objet 'Mail' construit !";
}
$send_result = $mail_object->send($recipients,$headers,$body);
if (PEAR::isError($send_result))
{
print "<p>envoi de l'email raté car ";
die($send_result->getMessage());
} else
{
print "<p>envoyé !";
}
?>
Le fait de déclarer explicitement l'inclusion de PEAR ne sert à rien chez moi (d'ailleur je ne t'ai pas demandé de le faire). Si tu le fais, fait le *avant* tout autre module (avant le include concernant Mail), et non pas après. Pour tes adresses e-mail, utilise des adresses valides (et non pas "mail_from@domain.mail" qui est un *exemple*). Dal
|
Bon je te remerci vraiment du fon du coeur DAL
tu es mon sauveur je vais donc adapter ton scrip pour le metre dans ma page... merci encore |
Bonjour,
j'ai un problème avec l'utilisation du package pear dans mon cas j'utilise le driver "mime" lors de l'instance de la classe Mail car mon message est au format HTML. voici mon code include_once("Mail.php"); /**Paramètres SMTP et port*/ $params["host"] = "smtp.planet.tn"; $params["port"] = "25"; $recipients = "aaaa@aaaa.aaa"; $mail_mime =& Mail::factory('mime', $params); $mail_mime->setHTMLBody("<b>TEST</b>"); $mail_mime->setSubject("test"); $mail_mime->setFrom("bbbb@bbbb.bbb"); $hdrs =& Mail_mime::headers(); echo $hdrs; $body =& Mail_mime::get(); echo $body; $mail_send =& Mail::factory('sendmail', $params); if($mail_send->send($recipients,$hdrs,$body)){ echo "<center>Envoyé</center>"; } else { echo "<center>erreur</center>"; echo "<center>".$mail->error_log."</center>"; } et ça me sort l'erreur suivante :Fatal error: Using $this when not in object context in /usr/share/pear/Mail/mime.php on line 591 que dois je faire ?
|
Bonjour,
redige une lelltre de réclamation au recervveur d la poste pour un colis que tu as envoé en recommandé ett ui n'est pas errivvé à son destinataire |
Bonjour,
Alors moi je souhaite savoir si qq1 a déja essayer de travailler avec online.net... J'ai mis au point toute une solution php pour gérer les campagnes newsletter. Mon problème c'est que leur web master me dis que les scripts php ont une durée d'execution limitée a 60 sec...pas évident pour gérer une liste 2000 inscrits...il me dit aussi qu'on ne pas faire d'authentification smtp via un scipt php....pkoi de telles limitations? avez vous un autres asctuce??? merci |
Résultats pour configurer php pour envoi de mail
Résultats pour configurer php pour envoi de mail
Résultats pour configurer php pour envoi de mail
Résultats pour configurer php pour envoi de mail