Mail avec PHP

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 avr. 2008, 11:34

Il te faut donc modifier ce fichier pour indiquer un serveur smtp valide (généralement celui de ton fournisseur d'accès :))
Lorsque tu récupères tes mails avec ton client de messagerie, tu as du lui dire : récupère mes mails avec l'adresse pop suivante que mon fournisseur d'accès internet a eu la bonté de fournir, et lorsque j'ai besoin d'envoyer des mails, envoi les avec l'adresse smtp que ton fai a eu la générosité de t'indiquer également.

PHP a besoin d'envoyer des mail, à toi de lui donner l'adresse smtp qui t'autorise à le faire pour qu'il en profite également :)
Toujours dans php.ini, pour l'envoi d'email

Code : Tout sélectionner

[mail function] ; For Win32 only. SMTP=smtp de ton FAI (smtp.free.fr par exemple) smtp_port = 25 ; For Win32 only. sendmail_from = ton email chez ton FAI
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 11 Messages

03 avr. 2008, 11:39

EasyPHP1-8-->apache-->php.ini
ctrl+f
smtp
voila ensuite
SMTP = localhost
tu modifie localhost par un serveur valide.
Voilà j'ai changé le SMTP dans PHP.ini comme ceci :

[Syslog]
; Whether or not to define the various syslog variables (e.g. $LOG_PID,
; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In
; runtime, you can define these variables by calling define_syslog_variables().
define_syslog_variables = Off

[
mail function]
; For Win32 only.
SMTP = relay.skynet.be

; For Win32 only.
sendmail_from = [email protected]
Mainenant que j'ai relancé EasyPHP j'obtient ceci en prévisualisation, je n'ai même plus le formulaire qui s'acffiche :(
Notice: Undefined index: nom in c:\program files\easyphp1-8\www\formulaire_contact\envoyer.php on line 3

Notice: Undefined index: email in c:\program files\easyphp1-8\www\formulaire_contact\envoyer.php on line 4

Notice: Undefined index: objet in c:\program files\easyphp1-8\www\formulaire_contact\envoyer.php on line 5

Notice: Undefined index: message in c:\program files\easyphp1-8\www\formulaire_contact\envoyer.php on line 6
Votre email n'a pu être envoyé. Veuillez remplir le formulaire correctement
On y est pas encore je crois :( [/quote]
Je sais qu'on ne sait jamais (Jean gabin)

Mammouth du PHP | 558 Messages

03 avr. 2008, 11:42

la c'est clair tu as des variables vide.
alors qu'elles devrais avoir des valeurs

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 avr. 2008, 11:45

Premier problème concernant ton script, lorsqu'on arrive sur la page du formulaire (donc sans l'avoir renseigné, ta fonction mail est exécutée. Elle ne devrait l'être qu'à condition d'avoir remplit le formulaire... il te manque un test :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 11 Messages

03 avr. 2008, 11:45

Voila j'ai retravaillé mon code comme ceci :

Code : Tout sélectionner

<?php if(!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['objet'])){ $nom = $_POST['nom']; $email = $_POST['email']; $objet = $_POST['objet']; $message = $_POST['message']; $destinataire = '[email protected]' ; $headers = 'From : ' . $nom . '<' . $email . '>'; if(mail($destinataire, $objet, $message, $header)){ echo 'Votre email a été correctement envoyé'; } else echo 'Une erreur c\'est produite lors de l\'envoie de votre email';} else { echo 'Votre email n\'a pu être envoyé. Veuillez remplir le formulaire correctement';} ?>
Maintenant je ne vois pas le formulaire à l'écran, mais j'ai ceci :
Votre email n'a pu être envoyé. Veuillez remplir le formulaire correctement
C'est quoi un test ? Un scipt ? Et ou le placer ?
J'avance doucement :) mais j'y suis pas encore.
Merci de m'aidr encore un peu s'il vous plait :)
Je sais qu'on ne sait jamais (Jean gabin)