Page 1 sur 2

Envoyer le contenu d'1 formulaire par mail.

Posté : 30 sept. 2005, 08:56
par kenshin
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?

Posté : 30 sept. 2005, 09:06
par Flo
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.

Posté : 30 sept. 2005, 09:08
par Cyrano
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é.

Posté : 30 sept. 2005, 09:22
par kenshin
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.

Posté : 30 sept. 2005, 09:25
par Cyrano
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 ?

Posté : 30 sept. 2005, 09:35
par kenshin
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.

Posté : 30 sept. 2005, 10:00
par pjl
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.

Posté : 30 sept. 2005, 11:50
par Cyrano
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.

Posté : 30 sept. 2005, 13:23
par kenshin
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.

Posté : 30 sept. 2005, 13:41
par Cyrano
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.

Posté : 30 sept. 2005, 13:42
par Flo
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:

Posté : 30 sept. 2005, 14:20
par kenshin
Marche pas...avec "sendmail_path =/usr/sbin/sendmail "

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

@+

Posté : 03 oct. 2005, 09:42
par kenshin
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?

Posté : 03 oct. 2005, 10:04
par Cyrano
Au lieu de nl2br(), remplace les "\n" par des "\r\n" :-k :?:

Posté : 03 oct. 2005, 12:40
par kenshin
J'utilise "str_replace" c'est ca?

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