Envoyer le contenu d'1 formulaire par mail.

Eléphanteau du PHP | 24 Messages

30 sept. 2005, 08:56

Salut,

Je veux Envoyer le contenu d'1 formulaire par mail (j'utilise Dreamweaver).
J'ai plusieurs champs, un champs pour 'le nom', 'le mail', 'un texte'. Et j'aimerai envoyé un mail avec pour adresse 'le mail', et pour le corps du mail 'le texte' rentrée par l'utilisateur du formulaire.

Deja il faut oublier la fonction 'mail' en PHP car sur mon serveur local ca marche (probleme de conf du php.ini).
Donc je me suis rabatu sur le javascript, mais le problème c'est que je ne connais pas ce langage.
Quelqu'un peut m'aider?

Flo
Eléphanteau du PHP | 48 Messages

30 sept. 2005, 09:06

Tu devrai plutôt oublier le Javascript et configurer ton php.ini.
Tu utilise quoi comme serveur Local, easyphp ?
C'est pas très compliquer à configurer sinon.

Mammouth du PHP | 19672 Messages

30 sept. 2005, 09:08

On peut peut-être t'aider à configurer correctement ton php.ini : cherche dedans une ligne marquée SMTP et configure-la en mettant l'adresse du serveur SMTP de ton fournisseur d'accès, par exemple :

Code : Tout sélectionner

SMTP = smtp.wanadoo.fr
Sinon, si tu tiens absolument à envoyer le résultat du formulaire par courriel, rajoute dans la balise <form> un attribut enctype avec pour valeur "text/plain" et dans l'attribut action tu inscris mailto:[email protected] de destination. Mais il te faudra ensuite créer un petit programme pour traduire le charabia qui est envoyé.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 24 Messages

30 sept. 2005, 09:22

En fait, pour ce que je veux faire, il me faut du PHP.

Donc le probleme c'est que j'utilise easyphp sur MAC :? .

Alors je n'arrive à configurer ce maudit php.ini :evil:

Merci pour vos réponse.

Mammouth du PHP | 19672 Messages

30 sept. 2005, 09:25

Je ne connais pas le système Mac, je ne sais donc pas où ni comment ça se configure, pas plus si on peut éditer le fichier de configuration de PHP. Mais comme sur tous les systè,es, Mac, PC, Linux ou autre, si tu fais une modification dans la configuration de PHP, il faut redémarer le serveur HTTP pour que les nouvelles directives soient prises en compte. Tu as essayé quoi jusqu'à maintenant ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 24 Messages

30 sept. 2005, 09:35

Oui, il y a un fichier PHP.ini

Voici les lignes qui m'interesse
------------------------
mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from = [email protected]

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = /Applications/mail/
--------------------------------------------------

Donc je pense qu'il faut modifier la ligne "sendmail_path = /Applications/mail/" , comme je suis neo sur mac... j'ai un peu de mal.

ViPHP
pjl
ViPHP | 2119 Messages

30 sept. 2005, 10:00

Donc le probleme c'est que j'utilise easyphp sur MAC :? .
Je suis un peu étonné.
easyphp ne tourne que sous Windows.
De plus, les derniers versions de MacOs intègrent déjà Apache.

Mammouth du PHP | 19672 Messages

30 sept. 2005, 11:50

Oui, il y a un fichier PHP.ini

Voici les lignes qui m'interesse
------------------------
mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from = [email protected]

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = /Applications/mail/
--------------------------------------------------

Donc je pense qu'il faut modifier la ligne "sendmail_path = /Applications/mail/" , comme je suis neo sur mac... j'ai un peu de mal.
Étant sur Mac, tu peux commenter les lignes qui pointent vers le smtp, il est du reste indiqué "For Win32 only" ou en français "Pour Win32 seulement". Pour commenter, ajoute un point-virgule en début de ligne.

Et comme MacOsX sauf erreur de ma part est un système de type UNIX, tu peux décommenter la ligne sendmail_path en enlevant le ";" de début de ligne. : à tester.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 24 Messages

30 sept. 2005, 13:23

En fait , sur mac j'ai le logiciel MAMP qui ressemble a easyphp, il installe un serveur apache et mysql et aussi phpmyadmin.

Donc comme je suis sur mac je dois renseigné la ligne :

sendmail_path = /Applications/mail.app

Mais j'ai tout essyé, tous les chamins possible et rien...que j'exectute mon script php ( mail($nom,$prenom,$mail); ) il ne se passe rien.

Alors c'est quoi le sendmail_path? Moi je pense que c'est le chemin pour le logiciel qui gere les mails. Sur mno mac ca s'appel 'mail'...
Je sais plus quoi faire.

Mammouth du PHP | 19672 Messages

30 sept. 2005, 13:41

essaye ce paramètre pour sendmail_path: /usr/sbin/sendmail
ça devrait pointer sur l'exécutable d'envoi de courriel, mais je n'y connais rien en mac et vraiment pas grand chose en système UNIX.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Flo
Eléphanteau du PHP | 48 Messages

30 sept. 2005, 13:42

sous UNIX, la variable sendmail_path définit le chemin de l'agent MTA (agent de transfert de courrier) pour la livraison des messages électroniques
Essaye donc comme ça :

Code : Tout sélectionner

[mail function] ; For Win32 only. ;SMTP = localhost ; For Win32 only. ;sendmail_from = ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path =/usr/sbin/sendmail
J'suis pas du tout au jus sous unix ni mac mais ça peut t'aider...
:wink:

Eléphanteau du PHP | 24 Messages

30 sept. 2005, 14:20

Marche pas...avec "sendmail_path =/usr/sbin/sendmail "

Je verrai ca ce weekend a tete reposée..

@+

Eléphanteau du PHP | 24 Messages

03 oct. 2005, 09:42

Salut,

Donc voila la solution que j'ai trouvé:
<a href="MAILTO:<?php echo $mail;?>?SUBJECT=<?php echo "Message de $prenom $nom de $entreprise";?>&BODY=<?php echo $message;?>">

Ca marche, mais il y a un petit probleme, c'est que lorsque la boite mail s'ouvre, tout est la , mais pour le corps du texte il ne vas pas a la ligne, alors j'ai mis "nl2br" pour message mais la il met des <br /> au lieu d'aller a la ligne.

Quelqu'un aurait une astuce?

Mammouth du PHP | 19672 Messages

03 oct. 2005, 10:04

Au lieu de nl2br(), remplace les "\n" par des "\r\n" :-k :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 24 Messages

03 oct. 2005, 12:40

J'utilise "str_replace" c'est ca?

comme ca : $message = str_replace( "\n", "\r\n", $message );