Page 1 sur 1

fonction mail

Posté : 25 avr. 2007, 11:21
par christophe_69
bonjour, j'ai fait un formulaire d'envoi d'email et je but sur ce pb:
quant je test:
mail("[email protected]","mon sujet","mon message");
ça me renvoi des erreurs (le mail est pas envoyé) le plus étonnant quant je test sur d'autre serveur pas de problème.
les personnes qui gére le serveur (serveur en uk) me parle d'smtp autentification :shock:
je comprend pas trop ce qui me raconte et ou je doit mettre cette autentification. pouvez vous me mettre sur la voix, merci.

Posté : 25 avr. 2007, 11:40
par Ryle
Avec le message d'erreur ce serait plus facile, mais ca semble effectivement être un soucis de configuration.

En gros, pour envoyer (ou recevoir) un mail, il faut avoir un "serveur de mail". Tu utilises probablement tous les jours celui de ton fournisseur d'accès pour lire tes mails :)
Il existe deux protocoles (bon y en a plus, mais on va commencer avec 2 ;)) pour lire et envoyer les mails : pop et smtp. Lorsque tu as configuré ton client de messagerie, tu as du renseigner ces deux valeurs avec les infos de ton fai. Pour envoyer des mails en php, c'est pareil, il faut lui dire ou se trouve le serveur smtp pour qu'il puisse envoyer des mails.

Pour cela, il te suffit d'éditer le fichier php.ini et de rechercher les paramètres relatifs aux mails (en fonction de ton système) :

Code : Tout sélectionner

SMTP = smtp.nom_du_serveur.com sendmail_from = [email protected] sendmail_path = /usr/sbin/sendmail
Il te suffit de renseigner le smtp avec les infos de ton fai, le _from avec ton email et si tu es sous unix le _path avec le chemin de la commande sendmail :)

Posté : 25 avr. 2007, 11:52
par christophe_69
merci pour l'aide, mais je peut pas éditer le fichier :shock: (je suis pas administrateur ?) c'est le fai.
par contre j'était sur une piste:
http://email.about.com/od/emailprogramm ... 073006.htm
je comprend pas tout car à priorie j'ai que l'authentification smtp fournis ?
(pas de user name et password)

Posté : 25 avr. 2007, 12:08
par Ryle
Ok, je pensais que tu travaillais en local... mais je maintiens, avec le message d'erreur ce serait plus facile ;)

Posté : 26 avr. 2007, 06:36
par christophe_69
j'ai testé l'ex du lien ci dessus:

Code : Tout sélectionner

<?php require_once "Mail.php"; $from = "Sandra<[email protected]>"; $to = "Ramona Recipient <[email protected]>"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "[email protected]"; $username = "[email protected]"; $password = "monpasse"; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo("<p>" . $mail->getMessage() . "</p>"); } else { echo("<p>Message successfully sent!</p>"); } ?>
bien sur ça marche pas car pouvez vous me dire que doit je mettre dans Mail.php ? et si je le met pas:

Code : Tout sélectionner

Fatal error: Class 'Mail' not found in "mon site" on line 73

Posté : 26 avr. 2007, 10:04
par Ryle
Euh... ben ton fichier Mail.php doit contenir la classe "Mail" avec les méthodes factory(), send() etc. qui sont utilisées ensuite... bref, c'est pas quelque chose que tu vas pouvoir bricoller, mais qu'il va falloir récupérer... si ca se trouve, c'est disponible dans le package PEAR...

Mais avant de te lancer dans de l'objet ou des choses complèxes, pourquoi ne pas commencer basiquement pour tester l'envoi de mail ? Quelques tutos :

http://www.phpfrance.com/tutoriaux/inde ... r-un-email
http://www.vulgarisation-informatique.com/mail.php

Posté : 26 avr. 2007, 10:51
par christophe_69
:shock: :shock:
j'ai déjà fait des test simple avec mail() et tout c'est bien passé (sur un autre serveur) mais là... je comprend pas tout trop fort pour moi partant il vas falloir que je trouve bien une solution. :?: