OVH Community, votre nouvel espace communautaire.

Insérer un formulaire sur son site web


Daniel60
07/11/2009, 18h05
Je répète : Évitez de poster des questions dans les How-to

dixchatsrient
07/11/2009, 16h25
bonjour je voudrais insaller ce script nms ForMail sur mes pages perso
je n'ai pas de site
mais comme je n'y connais rien je voudrais un peu d'aide
merci

lampion
15/09/2009, 12h05
Bonjour Daniel60 et merci.

Daniel60
15/09/2009, 11h59
Je répète : Évitez de poster des questions dans les How-to

lampion
15/09/2009, 10h34
Bonjour,
J'ai créé un formulaire flash (as3) Php qui fonctionne sur certains ordinateurs et pas d'autres. C'est à dire que lorsque ça ne fonctionne pas, je ne reçois pas de mail, mais n'ai aucun message d'erreur.
J'ai 2 macs et un PC, il fonctionne très bien sur un des macs et le pc. je l'ai testé chez d'autres personnes, même problème. De chez certains ça marche, de chez d'autres, aucun mail reçu.
Je précise que je l'ai également testé d'un ordi qui n'a ni firewall ni antivirus.
J'ai aussi essayer avec différents navigateurs mais le résultat est le même.
Si seulement ça ne fonctionnait pas du tout, je m'arracherais moins les cheveux !
Quelqu'un a t'il une idée d'où cela peut-il venir ?
Merci d'avance pour votre aide.

Daniel60
25/06/2009, 16h08
1 - Avec ce code, ce n'est pas un formulaire qui est appelé mais le client courrier - outlook, thunderbird, ou autre - sur le pc de l'internaute. A éviter de toute façon car un adresse mail en dur sur une page est le meilleur moyen de désigner un adresse à spammer.
2 - Evitez de poster dans les how-to : ils ne sont pas fait pour cela.

titine78160
25/06/2009, 14h42
Bonjour,
Depuis que le site d'une amie est hébergé chez OVH (formule START 5GO)
le formulaire de la page contact ne fonctionne plus???:confused: il marchait trés bien sur le site test hébergé chez FREE

Il n'y a pas de PHP, juste:
action="mailto:toto@yahoo.fr" method="post"
est ce une restriction de OVH? y a t il une solution ou dois je faire un formulaire en PHP?
Dans l'attente de vos commentaires...

defterz
16/06/2009, 17h47
salut...

Bon j'ai suivi le How to pour creer mon formulaire mail...Mais ca ne marche pas... et j'ai ce message:



Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, postmaster@www.xxx.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.





Mais la je ne sais plus quoi faire...

J'ai une offre Start10g peut etre que ca ne fonctionne pas avec cette offre?????

leodavinil
29/05/2009, 20h29
Bonjour,

j'ai suivi le how to a la lettre, j'ai lu les 15 pages des réponses, mais ça ne marche toujours pas.
J'ai un hebergement 60 GP avec un site en place que l'on m'a fait mais je suis en train de le refaire.

Afin de ne pas modifier le site en place tant que le mien n'est pas opérationnel, j'ai créé un sous dossier 'TEST' dans le répertoire 'www' pour effectuer le test.

Dans ce dossier www/TEST j'ai mis les pages :

formulaire.html
erreur.htm
bravo.htm

J'ai mis le fichier formu.pl dans le dossier racine " cgi-bin" de l'hebergeur

J'ai uplaoder en ASCII, mis 755 comme valeur pour le formu.pl et uploader en binaire le formulaire HTML

voici le contenu

$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'contact@XXXX.fr';
@referers = qw(XXXX.fr);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1'='contact@XXXX');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission

Thank you for your form submission.

END_OF_CONFIRMATION

[/COLOR]
ensuite voici le code HTML













et quand on clique sur Valider voila le message que j'ai

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, postmaster@www.XXXX.fr and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Est ce que quelqu un peux m'aider ??

rbled
17/11/2008, 07h02
Je suis sur un hebergement 90PLAN.
A priori le sendmail doit fonctionner sur cet hébergement.
Pour le reste, je ne suis sûr de rien (d'où ma question...).
Merci

rbled
16/11/2008, 07h40
Bonjour,

j'ai suivi la procédure pour l'insertion d'un formulaire sur mon site, cependant il ne ne fonctionne pas. Quelqu'un peut-il me dire où se situe le problème ? Merci d'avance.
Les fichiers sont consultables aux adresses suivantes :

pour le script :
http://www.libre-culture.org/formu.txt
(la bonne version est insérée sous cgi-bin/formu.pl)
pour le formulaire :
http://www.libre-culture.org/fr/inde...rticulier.html

ReevaL
31/07/2008, 13h34
Ne voulant pas poster mon script sans en avoir fait le tour, j'ai passé la matinée à m'arracher les cheveux : je ne recevais pas les résultats du formulaire sur mon mail... Pour la simple et redoutable raison que le compte créé dans ma messagerie était contact@monsite.com alors que le script pointait sur contacts@monsite.com ! C'est ça qui est beau avec l'informatique : l'erreur vient toujours de l'homme !

Sinon, il marche bien l'objet Merci pour le tuto de départ (page une donc) !

enycu
08/07/2008, 20h38
non, @allow_mail_to ne doit recevoir que les noms de domaine des adresses de réception, à séparer par un espace s'il y en a plus de 2. Je crois que tu as confondu @allow_mail_to avec @recipients

Michel74
08/07/2008, 16h02
Et si tu séparais tes deux adresses par un "point-virgule" ?
@allow_mail_to = qw(dikafrato@hotmail.com; jeveuxsavoirca@yahoo.fr);

dikafrato
08/07/2008, 13h20
Moi j'ai juste un petit problème, le programme fonctionne parfaitement bien mais je ne réussi pas a faire parvenir le formulaire à une deuxième adresse:


BEGIN
{
$DEBUGGING = 1;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = '';
@referers = qw(dynamique.net);
@allow_mail_to = qw(dikafrato@hotmail.com jeveuxsavoirca@yahoo.fr);
@recipients = ();
%recipient_alias = ();
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = 'French';
$charset = 'iso-8859-1';
$date_fmt = '%A %d %B, %Y à %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$send_confirmation_mail = 0;


seulement la première adresse reçoit le formulaire. Quelqu'un pourrait m'aider. Merci

abcd
13/04/2008, 10h58
J'ai un 90plan.

J'utilise Frontpage.

Comment fait-on pour publier (=transférer sur serveur FTP) en mode binaire?

merci.

PS : puis je suivre ce HOW TO en utilisant FRont page?

michel1
20/10/2007, 10h06
le form mail fonctonne super bien
mais au lieu d'un captcha pour stop les spambot
avec un champ invisible qui si il est rempli n'envoie pas le mail

il y a la ligne


n'y aurait il pas une alternative d'empecher l'envoi du formulaire si un champ en hidden ou invisible est rempli par un spambot ?

enycu
29/09/2007, 14h25
MERCI D'ARRETER D'UTILISER LE SCRIPT PERL FORMMAIL
si malgré toutes les recommandations vous n'arrivez pas à le faire fonctionner.

En effet, les gens ont toujours les mêmes erreurs et font toujours les mêmes fautes. Les 14 pages de ce forum ne parlent que du même problème de configuration et il faut à chaque fois répéter la même chose. Formmail est excellent et bien sécurisé, mais si vous n'y arrivez pas, trouvez une des alternatives listées ci-dessous.

Je vous invite à arrêter de poser des questions ici (personne ne lit les 14 pages donc son intérêt devient inutile) et à ouvrir une nouvelle discussion ici http://forum.ovh.net/forumdisplay.php?f=8 et non dans le sous forum HOW-TO qui rassemble les guides réalisés par les utilisateurs, cela évite le hors sujet. Le forum d'entre aide, c'est ici: http://forum.ovh.net/forumdisplay.php?f=8


Liste des formulaires de contact faciles:

Voici des scripts de formulaires de contact en PHP très simples à installer et à paramétrer. Ils sont plus accessibles aux débutants que le script perl Formmail.

Tous ces scripts sont en FRANCAIS et disposent de systèmes (des filtres) contre le piratage.

Pour bien utiliser ces formulaires il vous faut des connaissances simples en html et php (aucun ne fonctionnera par copier-coller). Aucun formulaire de contact ne fonctionnera sur l'offre gratuite Démo1G ni 20GP car OVH a désactivé la fonction mail.

- Le formulaire de base le plus facile à installer et à personnaliser avec un peu de connaissance en html et php:
http://www.siteduzero.com/tuto-3-1872-1.html

- Un formulaire en 2 parties html et php:
http://www.php-astux.info/script-formulaire-contact.php
http://www.toulouse-renaissance.net/...formulaire.htm

- Une version plus évoluée en un seul fichier et prévisualisation du message:
http://commentcamarche.com/faq/sujet...our-votre-site

- Un autre encore plus évolué avec message de remerciement, vérification des champs du formulaire par javascript et base de données MySQL pour numéroter les messages:
http://aspirine.org/contact/

- Celui-ci propose un système anti-robot spammeur appelé captcha:
http://www.mmt-fr.org/article73.html



Merci de ne plus répondre à ce message, mais d'ouvrir une nouvelle discussion dans le bon forum: http://forum.ovh.net/forumdisplay.php?f=8

Abogil
28/09/2007, 20h00
Citation Envoyé par valentin646
Bonjour Abogil oui j'avais bien changé
$to = "mon adresse ";
$from = "Adresse_Mail_Contact_site"; et la j'avais mis la même adresse
et où placer ce fichier sur mon site et le nommer en php ?
Tu encadre le script donné plus haut par et ?>
Tu colles le tout dans fichier Test_Fonction_Mail.php
Tu transfères ce fichier sur ton hébergement dans le dossier www

Avec ton navigateur, tu vas sur www.TonDomaine.com/Test_Fonction_Mail.php

tanen
28/09/2007, 18h29
oui, je faisais référence au premier post.

enycu
28/09/2007, 16h22
Ce que propose Abogil est un script de test pour vérifier que l'envoi de mail fonctionne sur ton compte. Ce n'est pas un formulaire à installer sur ton site.

tanen
28/09/2007, 15h41
Bonjour !

Je cherche à faire un formulaire d'envoi de mails dans mon site. J'avais un script en PHP, mais on m'à dit que c'était pas bien en terme de sécurité. Je constate qu'ici on offre une solution mais qui requiert un minimum de connaissances.

Est-il possible de détailler un peu ce tuto et d'indiquer comment utiliser un .pl ? (genre le script je le coll dans quelle page, le .pl je le met où sur mon setrver OVH etc...).

Merci !

valentin646
28/09/2007, 15h38
bonjour Abogil oui j'avais bien changer
$to = "mon adresse ";
$from = "Adresse_Mail_Contact_site"; et la j'avais mis la meme adresse
et ou placer se fichier sur mon site et le nomer en php

Abogil
27/09/2007, 23h09
As-tu bien paramétré :
Code PHP:
$to    "Adresse_Mail_Destinataire";  
$from  "Adresse_Mail_Contact_site"

valentin646
27/09/2007, 23h00
salut Abogil
j'ai essayer sa fonctionne pas a moins que j' ai fait un erreur
comme je suis noviste

valentin646
27/09/2007, 17h46
voici le message d'érreur que j'ai
256
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, tech@ovh.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.



--------------------------------------------------------------------------------

Apache/1.3.37 Server at www.waltervalentin.be Port 80
0

enycu
27/09/2007, 15h15
Si l'erreur vient du script c'est une erreur 500, si ce n'est pas une erreur 500 alors c'est le script qui donne un message d'erreur et cela doit venir de ton formulaire HTML.

Abogil
27/09/2007, 13h33
Bonjour Valentin,

Peux-tu essayer ce petit script :

Code PHP:
   // Test fonction mail();

   // *** A configurer

   
$to    "Adresse_Mail_Destinataire";  
   
$from  "Adresse_Mail_Contact_site";  

   
// *** Laisser tel quel

   
$JOUR  date("Y-m-d");
   
$HEURE date("H:i");

   
$Subject "Test Mail - $JOUR $HEURE";

   
$mail_Data "";
   
$mail_Data .= " \n";
   
$mail_Data .= " \n";
   
$mail_Data .= " Subject  \n";
   
$mail_Data .= " \n";
   
$mail_Data .= " \n";

   
$mail_Data .= "Mail HTML simple  :  $Subject    
 \n"
;
   
$mail_Data .= " \n";
   
$mail_Data .= " \n";

   
$headers  "MIME-Version: 1.0 \n";
   
$headers .= "Content-type: text/html; charset=iso-8859-1 \n";
   
$headers .= "From: $from  \n";
   
$headers .= "Disposition-Notification-To: $from  \n";

   
// Message de Priorité haute
   // -------------------------
   
$headers .= "X-Priority: 1  \n";
   
$headers .= "X-MSMail-Priority: High \n";

   
$CR_Mail TRUE;

   
$CR_Mail = @mail ($to$Subject$mail_Data$headers);
 
   if (
$CR_Mail === FALSE)   echo " ### CR_Mail=$CR_Mail - Erreur envoi mail 
 \n"
;
   else                      echo 
" *** CR_Mail=$CR_Mail - Mail envoyé
 \n"


valentin 645
27/09/2007, 13h14
Bonjour voic ma page php je l'a mise en ligne et sa ne fontionne pas je trouve pas l' erreure quelqu'un peut dire pourquoi merci
NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License or
# the Artistic License
#
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1; v
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'valentin@waltervalentin.be';
@referers = qw(waltervalentin.be);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1'=> 'valentin@waltervalentin.be');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: valentin@waltervalentin.be
Subject: form submission

enycu
05/09/2007, 20h31
cgi-bin est au bon endroit. Ne pas y toucher. L'adresse est correcte.

Maeva
05/09/2007, 20h11
grace à "seb" et à un petit script en php, qui correspond mieux à mes besoins très simples.

Mais si quelqu'un veux bien me confirmer que cgi-bin et son emplacement dans www ou non à son importance merci...

Maeva
05/09/2007, 14h01


Bon je reviens avec les idées un peu plus claires (à peine), la nuit portant conseil, j'ai refait ma page html

L'affichage et la saisie semble OK

Pourtant ça ne marche toujours pas !

Un truc que je ne comprends pas c'est l'adresse, mon dossier cgi-bin est endehors de www, alors que dans le code l'adresse est 'http://www.mld-creation.com/cgi-bin/formulaire.pl

l'erreur peut elle venir de là ?


Bon je remets mes scripts encore une fois !

merci de votre patience et pour toute réponse !

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'postmaster@mld-creation.com';
@referers = qw(mld-creation.com);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1'=>'postmaster@mld-creation.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission

Thank you for your form submission.

END_OF_CONFIRMATION

# You may need to uncomment the line below and adjust the path.
# use lib './lib';



page html :



"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


message






 


 


 


 


 


 


 


 


10 Impasse HENRY IV

64110 GELOS

+33 (0)674 837 168





























Votre nom
Votre adresse Email
Votre message



Maeva
05/09/2007, 01h24
Comme je l'ai dit, j'ai commencé par télécharger la version zip du lien que tu me donnes. J'ai changé les propriétés du script qui semblent ok d'après ce que tu me dis. Cependant les bases ne sont pas expliquées pour une bleue comme moi... Il y a donc le script d'un côté à mettre dans mon dossier cgi-bin, et la page html à mettre à la racine de mon site. Mais difficile de comprendre exactement où mettre le code dans la page html. Entre quelle balise exactement, par exemple. Finalement, j'ai vu que je pouvais ouvrir les explication et les exemples avec dreamweaver et c'est plus clair et grace qux exemples je peux un peu mieux comprendre...

Cependant ta réponse me fait revenir au début de ma démarche sans trop m'expliquer ce qui cloche, enfin merci quand même de m'avoir lu (depuis le début ?) et répondu...

enycu
04/09/2007, 22h31
Ton code html est du n'importe quoi. Au lieu de perdre du temps et de l'énergie, je t'invite à utiliser un des nombreux exemples qui sont livrés avec Formmail et à faire un copier-coller dans ton site, puis en changeant les paramètres nécessaires (après la balise form action=, recipent, etc.). Ton script à l'air OK.
http://nms-cgi.sourceforge.net/scripts.shtml

Maeva
04/09/2007, 17h49
Bon j'ai compris au moins où il fallait mettre les codes... Donc je retire sur mon précédent post le sript qui n'est plus bon.

Voici ce que j'ai sur mon formulaire.pl

#!/usr/bin/perl -w
#
# NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License or
# the Artistic License
#
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'info@mld-creation.com';
@referers = qw(mld-creation.com www.mld-creation.com);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1'=>'info@mld-creation.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission

Thank you for your form submission.

END_OF_CONFIRMATION


Et voici ma page html

-->





 


 


 


 


 


 


 


 


 


 


 


 


 


 


 













10 Impasse HENRY IV

64110 - GELOS

+33 (0)674 837 168

Vous avez une question, un commentaire, remplissez le petit formulaire et valider le.








Je ne comprends vraiment rien... Pourquoi les input sont "hidden" alors qu'on veux en voir certain.

En l'état seul les bouton valider et annulé sont visibles

pitié aidez moi je n'en vois pas le bout...

Maeva
04/09/2007, 14h17
PRECISION : voici le message d'erreur :




255
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, tech@ovh.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.



--------------------------------------------------------------------------------

Apache/1.3.37 Server at www.mld-creation.com Port 80
0

Maeva
04/09/2007, 13h45
Bonjour à tous,

c'est ici ma première intervention après pas mal d'heures de lecture. Je voudrais moi aussi intégrer un formulaire à mon site. Il me semble avoir bien capté les manip sur le script et son transfert, il me manque un élément basique de chez basique. Comment j'intègre mon formulaire à mon site ??? ??? Comment puis-je exécuter le script ? Je ne fais pas de php, mon site est un mélange d'html et de flash.

Donc bref, dois je créer une page html avec un lien vers mon formulaire.pl (c le nom que je lui ai donné) ? Ou dois je intégrer le script à une page html ?

Pour l'instant voilà comment j'ai procédé :

J'ai ouvert le script derniere version avec dreamweaver. J'ai fait les changements necessaires en faisant bien attention à la syntaxe.

J'ai rajouté les code html en début et fin du script comme demandé. J'ai remplacé les " par des ' simples. J'ai enregistre FormMail.pl sous formulaire.pl

Avec mon ftp j'ai transféré le fichier dans le répertoire cgi-bin que je voyais bien, ce en transfert ASCII et pour conclure je lui ai changé les propriétés CHMOD en 755 !!!

Et ça ne marche poooo

Il y a aussi un truc qui m'intrigue. Dans le script, l'adresse donnée est www.monsite.com, mais le répertoire cgi-bin se trouve en dehors de www. Alors hein, c'est quoi ce bin's

Dois je contacter l'aide ou vous mettre mon script ? Y'a t'il des préréglage à faire dans le Manager pour que le dossier cgi-bin soit exécutable ?

... merci de votre attention

enycu
24/08/2007, 00h49
il ne faut pas mettre ça:
mais ça:

nitroox
24/08/2007, 00h08
Personne ne peut m'aider ?

nitroox
14/08/2007, 00h13
Bonjour,

Merci pour ce howto très instructif.

Après moultes essais voici mon pb :

J'ai un message de confirmation mais je ne reçois pas de mail...

Le message de confirmation :

"Thank You

Below is what you submitted on mardi, août 14, 2007 at 00:03:39

To: azurelite@gmail.com

Subject: Contact

Qualité: M.

Nom/Prénom: sdf

E-mail: 123@azurelite.com

FormMail © 2001 London Perl Mongers"

Le script CGI :

BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'contact@azurelite.com';
@referers = qw(azurelite.com);
@allow_mail_to = qw(you@your.domain some.one.else@your.domain localhost);
@recipients = ();
%recipient_alias = ('1'=>'contact@azurelite.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = 'fr_FR';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission

Thank you for your form submission.

Un extrait du formulaire :






Qualité :

M. 



Merci pour votre aide.
Horyuji
13/08/2007, 20h05
Bonjour,
après plusieurs essais je n'arrive pas malheureusement à utiliser Formmail.pl ...
J'ai toujours la même erreur :
Erreur 500 ...

Voici mon formu.pl

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License or
# the Artistic License
#
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'XXX@gmail.com';
@referers = qw(madame-nephy.be);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1' => 'XXX@gmail.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: XXX@gmail.com
Subject: Demande

Thank you for your form submission.

END_OF_CONFIRMATION

Si quelqu'un pouvait m'aider ca serait gentil !!!
J'utilise la version Star1G ...
Serait-ce la cause ??!!

Merci !!!

Horyuji
13/08/2007, 19h21
Bonjour,
après plusieurs essais je n'arrive pas malheureusement à utiliser Formmail.pl ...
J'ai toujours la même erreur :
Erreur 500 ...

Voici mon formu.pl

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License or
# the Artistic License
#
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'XXX@gmail.com';
@referers = qw(madame-nephy.be);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1' => 'XXX@gmail.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: XXX@gmail.com
Subject: Demande

Thank you for your form submission.

END_OF_CONFIRMATION

Si quelqu'un pouvait m'aider ca serait gentil !!!
J'utilise la version Star1G ...
Serait-ce la cause ??!!

Merci !!!

spectrum
09/07/2007, 08h38
GRAND MERCI, ENYCU,

Le problème "cauchemar" est résolu. Maintenant je recois bien mon mail de confirmation. J'ai vient de changer 60gp.ovh.net par xxlplan.ovh.net.
Je me jette aux genoux pour votre aimable gentillesse pour me envoyer la solution à 1 heure ! le matin ! Les anges existent! Je vient de trouvez votre message que ce matin, puisque hier j'ai été obligé d'éteindre l'ordi pour cause d'un orage. Merci encore, et vous pouvez me demander la lune. Je remercie également par le même occasion : Abogil et pat34 qui m’on également remis sur le bon chemin.
André

enycu
09/07/2007, 01h01
Il faut mettre le nom de domaine d'où est appelé (provenance, le site web où l'on clique dessus, le point de départ) le script avec le www devant (ou sans les www si tu les inclus pas dans ton url).
Je ne sais pas comment l'expliquer autrement.

Et puisque tu es en xxlplan, remplace 60gp.ovh.net par xxlplan.ovh.net

Autre source d'erreur: as-tu un firewall ou pare-feu sur ton ordinateur qui filtre et bloque les requêtes http_referers? Si oui, alors l'erreur vient de ton ordinateur, pas du script.

spectrum
08/07/2007, 23h30
Re…
Puisque je n'arrive plus de dormir j'ai essayé comme j'ai interprété ci-dessus :
@referers = qw (mondomainde.fr www.autredomaine.com 60gp.ovh.net);
et… j’ai mon page d’erreur perso… c’est déjà mieux que rien mais moi je ne trouve pas la faute
André

spectrum
08/07/2007, 23h00
Merci enycu,
En effet mon script .pl ce trouve dans un dossier cgi-bin à la racine de mon xxlplan chez OVH et c'est pour cette raison que j'ai mis l'adresse du site principal.
Donc, mettons que a la base ce site porte comme nom mondomainde.fr et le site du mail autredomaine.com, es ce que vous voulez m'indiquer SVP ce que j'ai a rectifier après : @referers = qw ...............................
Merci, merci, merci
André

enycu
08/07/2007, 22h43
Dans le champ "@referers" des paramètres, il faut mettre le nom de domaine du site web où est hébergé le script et non le nom de domaine de ton adresse e-mail (si son domaine est différent). C'est ce qu'indique l'erreur.
Si tu as plusieurs domaines de référence, il faut les séparer par un espace comme cela:
@referers = qw(domaine.tld www.domaine.tld 60gp.ovh.net);

spectrum
08/07/2007, 22h37
Merci Pat,
J’ai rectifié le problème mais toujours le message d'erreur :

head> style type="text/css"> /head> Bad Referrer - Access Denied
The form attempting to use this script resides at http://www.domaine.com/resa.htm, which is not allowed to access this program.

If you are attempting to configure FormMail to run with this form, you need to add the following to @referers, explained in detail in the README file.

Add 'www.domaine.com' to your @referers array.

André Désespéré

Pat34
08/07/2007, 21h27
comme dit enycu

erreur dans page formulaire, mettre :

au lieu de :


autre erreur dans le formu:

%recipient_alias = ('1'=>'info@mondomaine.com);

mettre accent:
%recipient_alias = ('1'=>'info@mondomaine.com');

spectrum
08/07/2007, 21h23
Et voici encore le script .pl


#!/usr/bin/perl -wT
#
# NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License or
# the Artistic License
#
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'info@domaine.com';
@referers = qw(www.domaine[/url] principal a la source.fr);
@allow_mail_to = qw(info@domaine.com);
@recipients = ();
%recipient_alias = ('1'=>'info@domaine.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = 'fr_FR';
$charset = 'iso-8859-1';
$date_fmt = '%A %d %B, %Y à %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: info@domaine.com
Subject: form submission

Thank you for your form submission.

spectrum
08/07/2007, 21h19
Merci, pour votre aide. Veuillez trouvez le message erreur que je reçois:

head> style type="text/css"> /head> Bad Referrer - Access Denied
The form attempting to use this script resides at http://www.domaine.com/resa.htm, which is not allowed to access this program.

If you are attempting to configure FormMail to run with this form, you need to add the following to @referers, explained in detail in the README file.

Add 'www.domaine.com' to your @referers array.

Pour le reste, j'ai bien fait attention d'envoyer mes scripts comme vous m'avez indiqué et j'ai également rectifié les 2 lignes de ma page htm

Si vous avez encore une autre solution je vous prie de me le communiquer

André

enycu
08/07/2007, 16h36
D'abord, il faut envoyer le script Perl par FTP en mode TEXT et jamais en mode BINAIRE (voir le logiciel FTP pour cela).
Ensuite, vérifier que le fichier a les droits d'exécution 755, et enfin, pour formmail.pl, lui donner un autre nom.

Puis, je vois 2 erreurs dans ton code html:
A la place de ça:
Je mettrais ça:
en référence à tes paramètres "%recipient_alias" du script.

A la place de ça:
je mettrais ça:
c-à-d. email en minuscule car cette référence est prise en compte par le script.

spectrum
08/07/2007, 16h25
Et voici le script .pl:

$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'info@mondomaine.com';
@referers = qw(mondomaine.com.fr); (le cgi du domaine ce trouve sur un serveurser mutualisé !!!)
@allow_mail_to = qw(info@mondomaine.com);
@recipients = ();
%recipient_alias = ('1'=>'info@mondomaine.com);
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = 'fr_FR';
$charset = 'iso-8859-1';
$date_fmt = '%A %d %B, %Y à %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: info@mondomaine.com
Subject: form submission

spectrum
08/07/2007, 15h33
Je suis vraiment désolé. Merci de votre bonne volonté de bien vouloir m'aider. Comme j'ai déjà précisé, je suis prêt de payer un peu pour votre aide précieuse que me traquasse déjà maintenant depuis 4 jours. Le suicide est en vue.
Je vous donne le script de ma page htm. que je déjà transformer par tous les côtés et qui ne rassemble pus a l'originale qui toujours bien fonctionné chez les hébergeurs concurrentielle de OVH.
La solution est sans doute pas trop compliquée, encore il faut le comprendre
Merci 1 000 fois si vous trouvez quelque chose de suspect.
André



Reservation
















mondomaine.com/cgi-bin/formu.pl" method="post" name="FAQ">

info@mondomaine.com">

www.mondomaine/erreur.htm">
www.mondomaine.com/bravo.htm">

Titre page

Coordonnées


Société


Mme

Mr



Prénom


Adresse


Code postal

Ville


Pays


Tél.

Fax

 


E-mail


Période
: Du

au


Nombre de personnes


Commentaire











Vous
recevrez une réponse sous 48 heures














Réservation



Pat34
07/07/2007, 11h54
Citation Envoyé par spectrum
J'ai trouvé ce script sur http://www.scriptarchive.com/nms.html et sans doute il est bon, mais je suis quand meme obligé de changer certaine lignes dedans. Egalement dans les codes de mon fichier .htm.
André
Comment veux tu que l'on trouve d'ou vient ton erreur si tu ne postes pas ce que tu as mis dans ton formail et sur ta page htm ou html sur ton formulaire

Prend ce formulaire qui se trouve là:

http://nms-cgi.sourceforge.net/formm...pat-3.14c1.zip

- tu le renommes en (par exemple formu.pl) OVH ne prend pas les formail, donc faut renommer.

tu remplis les champs:

BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'contact@adresse de ton site.com';
@referers = qw(adresse de ton site.com);
@allow_mail_to = qw(adresse de ton site.com);
@recipients = ();
%recipient_alias = ('1'=>'contact@adresse de ton site.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = 'fr_FR';
$charset = 'iso-8859-1';
$date_fmt = '%A %d %B, %Y à %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: contact@adresse de ton site.com
Subject: form submission



Pour ce qui est à insérer dans ta page formulaire:






spectrum
07/07/2007, 08h14
J'ai trouvé ce script sur http://www.scriptarchive.com/nms.html et sans doute il est bon, mais je suis quand meme obligé de changer certaine lignes dedans. Egalement dans les codes de mon fichier .htm.
André

Abogil
06/07/2007, 22h23
Où as-tu trouvé ce script FormMail.pl ?
Si c'est un script connu, il doit être correct.
Donc ton problème doit être ailleurs. Il doit se trouver dans ton formulaire ou ton script php qui appelle FormMail.pl.

spectrum
06/07/2007, 14h00
Appel URGENT.
Es ce que il y a quelqu’un qui veut gagner quelques sous pour m’aider de rectifier un page htm. de réservation et mettre en place le script Formmail convenablement paramétré.
Le domaine ce trouve sur un serveur mutualisé chez OVH.
Merci, pour vos réponses

spectrum
06/07/2007, 13h28
Merci, Abogil, pour le conseil. J'ai modifié mon message en double.
L'histoire du serveur mutualisé me semble compliqué.

Abogil
06/07/2007, 10h03
Il n'est peut-être pas utile de mettre DEUX FOIS un aussi long message.

As-tu été voir sur un forum dédié au PERL ou à FormMail où encore sur le site dans lequel tu as trouvé ce script FormMail.pl ?

Exemple : http://www.guilde.org/ressources/aide/FormMail-fr.html

spectrum
06/07/2007, 09h40
Re-bonjour,
Le domaine de mon client "truc.com" ce trouve sur un serveur mutualisé de OVH que on va appeler "bidulle.fr".
Donc, adapter le script "NMS FormMail Version 3.14c1" ne suffit pour créer un dossier cg-bin dans "truc.com" mais de le transférer dans le cgi-bin de la racine "bidulle.fr". Le problème c'est comment éviter au client du domaine "truc.com" l'accès à la racine de "bidulle.fr"?
J'espère que ce récit est suffisamment clair, puisque la belle langue française n'est pas mas langue maternelle.
Merci pour votre aide… et peut-être quelqu'un peut m'envoyer le script bien structuré.

spectrum
06/07/2007, 09h31
Bonjour, après 2 nuits blanche que j'ai essayé de mettre ma page en ligne je oser de demander votre conseil pour m'indiquer ou est le problème dans mon script. Merci, pour votre aide.

#!/usr/bin/perl -wT
#
# NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License or
# the Artistic License
#
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t
$postmaster = $postmaster = 'info@domaine.com';
@referers = qw (domaine.com);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = alias =('1'=>'info@domaine.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: info@omainede.com
Subject: RESERVATION

Thank you for your form submission.

END_OF_CONFIRMATION

ssmdo
27/06/2007, 16h56
oups, j'ai trouvé l'erreur : elle vient des champs obligatoires qui ne correspondaient pas à ceux de mon formulaire.
Une fois cela changé : ça marche !!!

ssmdo
27/06/2007, 16h36
Bonjour à tous,

Grâce au script de boper et aux échanges sur le forum, j'ai réussi (et non sans mal) à créer mon formulaire de contact.
Par contre, lorsque je clique sur "envoyer" ma page erreur.htm s'affiche et je ne sais pas d'où vient le pb !!!

Quelqu'un peut-il m'aider ?

Merci d'avance

Voici mon script :





















Votre Nom:
Votre Email:
Sujet:
Commentaires:










et mon code php, partie à configurer :

BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'xxx@zzz.fr';
@referers = qw(vlm84.fr);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1'=>'xxx@zzz.fr');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission

Pat34
22/06/2007, 19h05
Change déjà ton bravo.htlm par bravo.html ainsi que erreur.htlm

moi, je ne r'envoi pas sur une page erreur

test avec ça si ça fonctionne pas:






elenor
19/06/2007, 00h18
help... Ne m'abandonnez pas....

elenor
15/06/2007, 20h13
Mon formulaire ne marche pas, je vous mets le script de la page du formulaire :

method="post" name="FAQ">
type="hidden"> type="hidden"> value="nom, prenom, adresse, ville" type="hidden"> name="missing_fields_redirect"
value="http://www.corambe.com/erreur.htlm" type="hidden"> name="redirect" value="http://www.corambe.com/bravo.htlm"
//LE FORMULAIRE//



J'ai fait tout ce qui est dit, mais je n'arrive pas à insérer ce formulaire. Pour le fichier formu.pl, j'ai mis le bon

Petite précision, le message d'erreur quand on essaie d'envoyer le formulaire, c'est : "the page cannot be found".

J'ai besoin de votre aide....

Merci d'avance

hurtuph
12/02/2007, 18h10
Bonjour

J'ai suivi les instruction a la lettre
Je n'ai aucunes erreur quand je soumet le form
Mais en bout de ligne je ne recoit jamais les mails.

J'ai fait un test et mon adresse email est bonne

Merci a l'avance

Alamo
07/02/2007, 13h13
Merci à Pascal47 pour tes précisions. ça commence à s'éclaircir dans ma tête.
J'ai bien lu tout ce qui précède et j'ai également interrogé la hot line OVH. Le tech qui m'a répondu préconise l'utilisation du script "formmail-vf.pl"
Quelqu'un peut-il me donner son opinion ? (Neopast par exemple ?)
Suite à ça (vos opinions) je reviendrai avec une autre question concernant les essais avant mise en ligne.
Merci d'avance

morpheusreims
06/02/2007, 22h22
j'aurais voulu rendre obligatoire certains champs, je sais qu'il faut utiliser "requiert" mais quelle est la synthaxe à inserer dans le script cgi ?
et savoir s'il etait possible d'eviter que la meme personne envoi plusieurs fois le meme message via le formulaire (comme par exemple vérifier si n'y à pas de doublon au niveau des emails)

Pascal47
05/02/2007, 19h23
Salut,
En fait, c'est relativement simple.
Certains providers fournissent des script CGI tout fait que tu utilises comme tu le souhaites.
Chez OVH, tu as un repertoire cgi-bin dans lequel tu peux y mettre tes propres scripts PERL.
Ceux-ci te permettent d'executer une action quand elle est demandée par ta page Web.
Pour exemple, j'ai récupéré un script PERL qui permet d'envoyer un mail depuis un formulaire.
Ce script est mis dans le repertoire cgi-bin.
Sur ta page Web, dans le formulaire, il suffit de faire pointer l'action du formulaire vers ce script.
J'espère avoir été clair dans mes explications.
Je developpe en HTML/CSS, mais pas en PERL. C'est la raison pour laquelle le script qui est dans mon repertoire CGI est sous copyright de son créateur.
Cordialement, Pascal.

PS: En tout état de cause, je n'arrive toujours pas à joindre une pièce jointe a mon mail...:-(

Alamo
04/02/2007, 17h01
ça m'a l'air compliqué s'taffaire...
Quelqu'un peut-il m'expliquer simplement comment ça fonctionne ?
J'ai lu je ne sais plus ou qu'il fallait utiliser le répertoire bin-cgi...
  • mais pour y mettre quoi ?

Est-ce que c'est le script qu'il faut mettre à cet endroit et le faire pointer depuis la page qui se trouve dans le répertoire www ?
Merci d'avance
P.S. j'ai un 90plan

Pascal47
03/02/2007, 19h25
Bonsoir,
Comment faire avec ce script, s'il le permet, envoyer une pièce jointe à un mail issu du formulaire.
Dans le formulaire, j'arrive bien à parcourir le disque pour y ajouter la PJ, mais quand je reçois le formulaire, seul le chemin du fichier figure, mais pas de PJ.
Voici ce qui est ecrit dans mon formulaire:


Envoyer une photo - Taille maxi : 1 Mo







Merci.
Cordialement, Pascal

Pascal47
03/02/2007, 10h23
Re,
C'est bon, j'ai trouvé l'erreur.
Dans le formulaire, j'avais juste une faute de frappe.
En effet, dans le name="email", j'avais oublié le =
C'est bête, mais ça arrive.
Le Pb est réglé.
Cordialement, Pascal

Pascal47
03/02/2007, 10h06
Re,
Alors j'en en partie réglé mon souci de formulaire.
Cependant, quand je reçois le résultat dans ma boite au lettre, au lieu de l'adresse mail remplie par l'utilisateur sur le forum, je recois cette adresse:
nobody@start.ovh.net
Du coup, je ne peux répondre au mail.
Une idée ??
Merci.
Cordialement, Pascal

Pascal47
03/02/2007, 09h25
Bonjour à tous,
De l'evolution dans mon formulaire et le cgi associé.
Les messages arrivent efin en boite au lettre.
Sur mon formulaire j'ai mis la commande "requiert" pour mettre des champs obligatoires, seulement, du coup je me retrouve avec ce message:

The following fields were left blank in your submission form:

email (must be a valid email address)
These fields must be filled in before you can successfully submit the form.

Please use your back button to return to the form and try again.

Alors que je suis sur que l'email renseignée dans le champ est valide.

Merci de me renseigner,
Cordialement, Pascal

Pascal47
03/02/2007, 00h51
Re,
J'oubliais, je suis hébergé chez OVH, formule start1g
Pour info, je peux poster la partie configurable du script:

#!/usr/bin/perl -wT
#
# NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License or
# the Artistic License
#
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'postmaster@xxx.fr');
@referers = qw();
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1'=>'postmaster@xxx.fr');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = 'french';
$charset = 'iso-8859-1';
$date_fmt = '%A %d %B, %Y à %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: postmaster@xxx.fr
Subject: form submission

Thank you for your form submission.

END_OF_CONFIRMATION

Cordialement, Pascal

Pascal47
03/02/2007, 00h46
Bonsoir,
J'ai suivi les conseil pour mettre en place le script CGI formu.pl
et quand je teste mon formulaire, j'ai une réponse de ce type:

250
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, tech@ovh.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Merci de me renseigner.
Cordialement, Pascal

Homer Jay
14/01/2007, 18h33
Citation Envoyé par neopast
2. Est-ce que ton navigateur / firewall bloque les referrer ?
Visiblement non . C'est donc le premier point que tu as soulevé qui est certainement la cause du problème.

julieetmoi
14/01/2007, 18h27
Bonjour,

peut-on utiliser ce script cgi-bin depuis un formulaire flash.
Si oui avez-vous des liens.

Merci

kemaleur
09/01/2007, 17h48
as-tu chargé ton formulaire (pas le .pl) en transfert mode "binaire" ?
J'avoue que je ne sais pas si ça joue mais vas savoir !

schoor972
09/01/2007, 16h05
Apparement les lectures de script Perl etc... n'etaient pas activé sur mon serveur. Maintenant c'est activé j'attend que le serveur redemarre (1 fois pa jour) et je reteste.

Sinon je vois pour faire le fomulaire en PHP.

Merci

Homer Jay
09/01/2007, 15h42
Citation Envoyé par schoor972
j'ai modifié la majuscule .Pourtant toujours NOT FOUND !!
Si tu vas voir directement ton formulaire, est-ce que ça marche? Sinon, c'est sûr que le POST ne marchera pas non plus.

Sinon, la méthode "post" n'existe pas, il faut écrire "POST" (mais ce n'est sans doute pas la cause de ton problème).

schoor972
09/01/2007, 15h33
j'ai modifié la majuscule .Pourtant toujours NOT FOUND !!

kemaleur
09/01/2007, 12h26
euh pourquoi y a Formu avec une maj alors que le script cherche formu avec une minuscule ?

schoor972
08/01/2007, 22h22
ok merci !
J'ai pu mettre les fichiers sur le ftp via filezila.
Mais maintenant que toute est en place sur mon ftp lorsque je click sur envoyer dans mon formulaire sur mon site (donc ce lien :http://www.XXXXXX.com/cgi-bin/Formu.pl)
j'ai un Not Found ! comprends pas voici mon codefaut t'il un log pour decripter le fichier .pl?)












Nom:


Email:


Message:











Merci pour votre attention les gars !!!

kemaleur
08/01/2007, 21h51
erreur sorry

kemaleur
08/01/2007, 21h50
Il te faut un log comme filezilla que je te conseille :
tu entres ton ftp.ton domaine.fr puis ton login et ton mdp et zou
colonne de gauche ton dd colonne de droite ton site et tu vois le dossier cgi-bin
puis tu vas dans le menu transfert et tu coches le mode demandé ASCII donc
puis tu fais un glisser-déposer de ton .pl dans le cgi-bin
ensuite tu te places dans ton dossier cgi-bin tu pointe le .pl et click droit attribut du fichier et tu mets 755 en valeur numérique et voilà

schoor972
08/01/2007, 21h26
Bonjour,
Je suis vraiment novice.
J'aimerais juste savoir comment tansferer le fichier formail.pl en ascii dans mon dossier cgi-bin.(Faut 'il un log spécifique?)

(car moi j'ai juste fait les modifs avec bloc note et réenregistré)

Ensuite comment et avec quoi lui attribuer les droits 755 (chmod)

voila merci pour votre aide .

Julien

kemaleur
05/01/2007, 14h03
Un très grand merci à Boper qui me sort d'une prise de tête de 7 jours et meilleurs voeux à tous

julieetmoi
04/01/2007, 08h40
Merci à tous pour ces magnifiques réponses.
J'ai trouvé les problèmes avec un testeur de script qu'on installe dans le dossier cgi.
voici le lien pour ceux que cela intéresse.
http://www.raynette.fr/script-gratui...estserveur.php

julieetmoi
01/01/2007, 10h20
Bonjour et bonne année.


Voila j'ai réussi a faire tourner le message avec la version nms et le formulaire suivant www.guiliome.com/test.htm
Maintenant je souhaiterais placer le code qui permet d'envoyer les informations en pièce jointe sous forme de vcard.
est-celui ci et ou dois-je le mettre.

Merci de m'aider.

#--- vCardEmail modification begins here: #
# A file named vcard.vcf is created from the vCard fields after the #
# vCard 2.1 specification. #
# Notes: #
# Quoted-Printable lines of text break at 70 characters in this routine, #
# however a maximum of 76 characters are allowed in the specs. #

sub vCard_Create {
$attachment = "vcard.vcf";
# or better, use: $attachment = "vcard_sent_to".$Config{'recipient'}.".vcf";
open (VCARD,">$attachment");
print VCARD "BEGIN:VCARD\n";
print VCARD "VERSION:2.1\n";
if ($vCard{'v_NAME_LAST'} || $vCard{'v_NAME_FIRST'}) {
print VCARD "N:$vCard{'v_NAME_LAST'};$vCard{'v_NAME_FIRST' };";
print VCARD "$vCard{'v_NAME_MIDDLE'};$vCard{'v_NAME_TITLE'};$v Card{'v_NAME_SUFFIX'}\n";
};
if ($vCard{'v_NAME_FORMATTED'}) {
print VCARD "FN:$vCard{'v_NAME_FORMATTED'}\n";
};
if ($vCard{'v_ORGANIZATION_NAME'} || $vCard{'v_ORGANIZATION_DEPARTMENT'}) {
print VCARD "ORG:$vCard{'v_ORGANIZATION_NAME'};$vCard{'v_ORGAN IZATION_DEPARTMENT'}\n";
};
if ($vCard{'v_ORGANIZATION_TITLE'}) {
print VCARD "TITLE:$vCard{'v_ORGANIZATION_TITLE'}\n";
};
if ($vCard{'v_ORGANIZATION_JOB'}) {
print VCARD "ROLE:$vCard{'v_ORGANIZATION_JOB'}\n";
};
if ($vCard{'v_NOTE'}) {
$note = cut($vCard{'v_NOTE'},70);
print VCARD "NOTE;ENCODING=QUOTED-PRINTABLE:$note\n";
};
if ($vCard{'v_ORGANIZATION_PHONE'}) {
print VCARD "TEL;WORK;VOICE:$vCard{'v_ORGANIZATION_PHONE'} \n";
};
if ($vCard{'v_HOME_PHONE'}) {
print VCARD "TEL;HOME;VOICE:$vCard{'v_HOME_PHONE'}\n";
};
if ($vCard{'v_ORGANIZATION_FAX'}) {
print VCARD "TEL;WORK;FAX:$vCard{'v_ORGANIZATION_FAX'}\n";
};
if ($vCard{'v_HOME_FAX'}) {
print VCARD "TEL;HOME;FAX:$vCard{'v_HOME_FAX'}\n";
};
if ($vCard{'v_ORGANIZATION_EMAIL'}) {
print VCARD "EMAIL;INTERNET:$vCard{'v_ORGANIZATION_EMAIL'} \n";
};
if ($vCard{'v_HOME_EMAIL'}) {
print VCARD "EMAIL;INTERNET:$vCard{'v_HOME_EMAIL'}\n";
};
if ($vCard{'v_ORGANIZATION_WEB'}) {
print VCARD "URL:$vCard{'v_ORGANIZATION_WEB'}\n";
};
if ($vCard{'v_HOME_WEB'}) {
print VCARD "URL:$vCard{'v_HOME_WEB'}\n";
};
if ($vCard{'v_PAGER'}) {
print VCARD "TEL;PAGER;VOICE:$vCard{'v_PAGER'}\n";
};
if ($vCard{'v_MOBILE'}) {
print VCARD "TEL;CELL;VOICE:$vCard{'v_MOBILE'}\n";
};
if ($vCard{'v_CARPHONE'}) {
print VCARD "TEL;CAR;VOICE:$vCard{'v_CARPHONE'}\n";
};
if ($vCard{'v_ORGANIZATION_TELEX'}) {
print VCARD "EMAIL;TLX:$vCard{'v_ORGANIZATION_TELEX'}\n";
};
if ($vCard{'v_BBS'}) {
print VCARD "TEL;BBS:$vCard{'v_BBS'}\n";
};
if ($vCard{'v_ISDN'}) {
print VCARD "TEL;ISDN;VOICE:$vCard{'v_ISDN'}\n";
};
if ($vCard{'v_VIDEO'}) {
print VCARD "TEL;VIDEO:$vCard{'v_VIDEO'}\n";
};
if ($vCard{'v_MSG'}) {
print VCARD "TEL;MSG;VOICE:$vCard{'v_MSG'}\n";
};
if ($vCard{'v_MODEM'}) {
print VCARD "TEL;MODEM:$vCard{'v_MODEM'}\n";
};
if ($vCard{'v_TIME_ZONE'}) {
print VCARD "TZ:$vCard{'v_TIME_ZONE'}\n";
};
if ($vCard{'v_GEOGRAPHIC_POSITION'}) {
print VCARD "GEO:$vCard{'v_GEOGRAPHIC_POSITION'}\n";
};
if ($vCard{'v_BIRTHDAY_YEAR'} && $vCard{'v_BIRTHDAY_MONTH'} && $vCard{'v_BIRTHDAY_DAY'}) {
$vYear = $vCard{'v_BIRTHDAY_YEAR'};
$vMonth = $vCard{'v_BIRTHDAY_MONTH'};
if (length($vMonth) < 2) { $vMonth = "0".$vMonth };
$vDay = $vCard{'v_BIRTHDAY_DAY'};
if (length($vDay) < 2) { $vDay = "0".$vDay };
print VCARD "BDAY:$vYear"."-"."$vMonth"."-"."$vDay\n";
};
print VCARD "ADR;HOME:$vCard{'v_HOME_POSTALBOX'};$vCard{'v_HOM E_ADDRESS1'};$vCard{'v_HOME_ADDRESS2'};$vCard{'v_H OME_CITY'};$vCard{'v_HOME_REGION'};$vCard{'v_HOME_ POSTALCODE'};$vCard{'v_HOME_COUNTRY'}\n";
if ($vCard{'v_HOME_ADDRESS_LABEL'}) {
$address_label = cut($vCard{'v_HOME_ADDRESS_LABEL'},70);
print VCARD "LABEL;HOME;ENCODING=QUOTED-PRINTABLE:$address_label\n";
};

if ($vCard{'v_ORGANIZATION_ADDRESS2'} || $vCard{'v_ORGANIZATION_POSTALBOX'}) {
$address_label = "";
if ($vCard{'v_ORGANIZATION_POSTALBOX'}) {
$address_label = $address_label.$vCard{'v_ORGANIZATION_POSTALBOX'};
};
if ($vCard{'v_ORGANIZATION_ADDRESS1'}) {
if ($vCard{'v_ORGANIZATION_POSTALBOX'}) {
$address_label = $address_label."=0D=0A";
};
$address_label = $address_label.$vCard{'v_ORGANIZATION_ADDRESS1'};
};
if ($vCard{'v_ORGANIZATION_ADDRESS2'}) {
$address_label = $address_label."=0D=0A".$vCard{'v_ORGANIZATION_ADD RESS2'};
};
print VCARD "ADR;WORK;ENCODING=QUOTED-PRINTABLE:$vCard{'v_ORGANIZATION_POSTALBOX'};$vCar d{'v_ORGANIZATION_ADDRESS2'};$address_label;$vCard {'v_ORGANIZATION_CITY'};$vCard{'v_ORGANIZATION_REG ION'};$vCard{'v_ORGANIZATION_POSTALCODE'};$vCard{' v_ORGANIZATION_COUNTRY'}\n";
} else {
print VCARD "ADR;WORK:$vCard{'v_ORGANIZATION_POSTALBOX'};$vCar d{'v_ORGANIZATION_ADDRESS2'};$vCard{'v_ORGANIZATIO N_ADDRESS1'};$vCard{'v_ORGANIZATION_CITY'};$vCard{ 'v_ORGANIZATION_REGION'};$vCard{'v_ORGANIZATION_PO STALCODE'};$vCard{'v_ORGANIZATION_COUNTRY'}\n";
};
if ($vCard{'v_ORGANIZATION_ADDRESS_LABEL'}) {
$address_label = cut($vCard{'v_ORGANIZATION_ADDRESS_LABEL'},70);
print VCARD "LABEL;WORK;ENCODING=QUOTED-PRINTABLE:$address_label\n";
};

if ($vCard{'v_POSTAL_ADDRESS2'} || $vCard{'v_POSTAL_POSTALBOX'}) {
$address_label = "";
if ($vCard{'v_POSTAL_POSTALBOX'}) {
$address_label = $address_label.$vCard{'v_POSTAL_POSTALBOX'};
};
if ($vCard{'v_POSTAL_ADDRESS1'}) {
if ($vCard{'v_POSTAL_POSTALBOX'}) {
$address_label = $address_label."=0D=0A";
};
$address_label = $address_label.$vCard{'v_POSTAL_ADDRESS1'};
};
if ($vCard{'v_POSTAL_ADDRESS2'}) {
$address_label = $address_label."=0D=0A".$vCard{'v_POSTAL_ADDRESS2' };
};
print VCARD "ADR;POSTAL;ENCODING=QUOTED-PRINTABLE:$vCard{'v_POSTAL_POSTALBOX'};$vCard{'v_P OSTAL_ADDRESS2'};$address_label;$vCard{'v_POSTAL_C ITY'};$vCard{'v_POSTAL_REGION'};$vCard{'v_POSTAL_P OSTALCODE'};$vCard{'v_POSTAL_COUNTRY'}\n";
} else {
print VCARD "ADR;POSTAL:$vCard{'v_POSTAL_POSTALBOX'};$vCard{'v _POSTAL_ADDRESS2'};$vCard{'v_POSTAL_ADDRESS1'};$vC ard{'v_POSTAL_CITY'};$vCard{'v_POSTAL_REGION'};$vC ard{'v_POSTAL_POSTALCODE'};$vCard{'v_POSTAL_COUNTR Y'}\n";
};
if ($vCard{'v_POSTAL_ADDRESS_LABEL'}) {
$address_label = cut($vCard{'v_POSTAL_ADDRESS_LABEL'},70);
print VCARD "LABEL;WORK;ENCODING=QUOTED-PRINTABLE:$address_label\n";
};

print VCARD "END:VCARD\n";
close (VCARD);
}; # end vCard_Create sub

julieetmoi
31/12/2006, 13h37
Bonjour,
je voulais créer une page pour que mes amis puissent m'envoyer une vcard.
J'ai essayer ce http://www.vcardprocessor.com/vcardform.htm
avec ceci
http://www.vcardprocessor.com/vCardMail.txt

ensuite ne marchant pas je suis tombé sur ce post.
Mais j'ai tout essayé rien ne marche.
j'ai un 60gp

http://www.guiliome.com/vcardform.htm
la j'ai remis le formulaire de base mais j'aimerai que l'adresse n'apparaisse pas je
changerai le name="recipient"

ovide8975
29/12/2006, 18h40
Booper bonjour,
Encore un nul sans doute... Quoi qu'il en soit, impossible de faire marcher mon formulaire sur mon site :

Voici tout d'abord le doc. formu.pl :


#!/usr/bin/perl -wT
#
# NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License or
# the Artistic License
#
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'xx@xx-xx.com';
@referers = qw(xx-xx.com);
@allow_mail_to = qw('1'=>'xx@xx.com');
@recipients = ();
%recipient_alias = ();
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission

Thank you for your form submission.

END_OF_CONFIRMATION

# You may need to uncomment the line below and adjust the path.
# use lib './lib';

# USER CUSTOMISATION SECTION
# --------------------------
# Place any custom code here


Il y a encore plein de texte ensuite... faut-il le laisser ?
Je l'ai donc chargé en ASCII ur le Cg-bin de mon serveur avec les attributs donnés : 755

Et quand je lance le formulaire via mon site, voici ce qui apparait comme message :


Error: Bad or Missing Recipient
There was no recipient or an invalid recipient specified in the data sent to FormMail. Please make sure you have filled in the recipient form field with an e-mail address that has been configured in @recipients or @allow_mail_to. More information on filling in recipient/allow_mail_to form fields and variables can be found in the README file.


--------------------------------------------------------------------------------

The recipient was: [ 1 ]


--------------------------------------------------------------------------------

FormMail © 2001-2003 London Perl Mongers

Que dois je faire pour que cela marche enfin ?
Merci par avance,
Ovide8975

Grphil
09/09/2006, 02h59
Bonjour,
Je viens de passer plusieurs heures et le "sendmail" ne semble pas fonctionner sur mon 1000GP et domaine.be
Je voudrais mettre un formulaire de reservation et je n'ai pas la réception des mails de mon formulaire.
Script suivi point par point.
Voici une partie du script nomme "formu.pl"
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'webmaster@xxx-xxx.be';
@referers = qw(xxx-xxx.be);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1' => 'xxx@xxx.be');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: webmaster@xxx.be
Subject: Reservation
Mon formulaire html semble fonctionner car apres avoir rempli les champs, je retombe sur la page de redirection.
Avez vous une piste pour moi ?

Raoul_s
02/08/2006, 16h00
Merci pour ce how to.
J'ai tout fait comme expliqué page 1, ça marche tres bien.

Sauf une chose, je peux utiliser ce formmail vers une adresse pop de type "untel@mondomaine.com" mais impossible de l'envoyer sur ma mailing liste OVH "mailinglist-subscribe@mondomaine.com".

Quelqu'un sait pourquoi et comment réparer ça ?

Merci.

arnaudyannic
31/07/2006, 19h38
Etant débutant en web design, j'ai des difficultés a suivre les indications données dans ce HOWTO qui semble pourtant si clair.
Premierement, je ne trouve pas de répertoire cgi-bin. J'utilise Front Page pour la conception de mes pages comme pour leur transfert vers le serveur, et j'y trouve seulement 3 dossiers: _private, requetes et www. Pas de cgi-bin.
Deuxiemement, je n'arrive pas a trouver, tjrs sur Front page, comment transferer le fichier en ASCII.
Je commence a perdre un peu espoir alors j'espere que qq pourra m'aider...

Merci d'avance.

Arnaud

aye-aye
21/07/2006, 11h22
Merci à Boper et à NéoPast pour leurs précieux conseils.

J'entraine ce how-to vers un why-to () et en gros, je vous soumets mes doutes/interrogations :
1 - Un tel script est-il préférable à un formulaire php comme celui-ci : formulaire php ?
2 - Le code proposé n'est-il pas un peu lourd compte tenu de la faible exploitation qui en est faite (pas de debugging, pas de réponses auto, etc., etc...)
3 - Quelqu'un a-t-il testé celui-ci ?

Enfin pour les pièces jointes, quelqu'un s'est-il penché sur cette solution ?

Merci pour vos avis...

crishainaut
18/06/2006, 23h50
je ne peux pas changer l'adresse du destinataire ?

voici le script
#!/usr/bin/perl -wT
################################################## ############################
# nms Formmail Version 3.14c1 #
# Copyright 2001 London Perl Mongers All rights reserved #
# Created 11/11/01 Last Modified 08/11/04 #
# Matt's Script Archive: http://www.scriptarchive.com/ #
################################################## ############################
# nms Formmail has been created as a drop in replacement for the FormMail #
# found at Matt's Script Archive. Both the original and nms versions of this #
# script can be found at the above URL. Support for nms Formmail is #
# available through: nms-cgi-support@lists.sourceforge.net #
################################################## ############################
#
# NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License <http://www.gnu.org/licenses/gpl.html> or
# the Artistic License
# <http://www.perl.com/pub/a/language/misc/Artistic.html>
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'info@mondomaine@com';
@referers = qw(mondomaine.com);
@allow_mail_to = qw();
@recipients = ();


# -----------------------------------------------------------
# Pour changer le destinataire, modifier l adresse en dessous
%recipient_alias = ('1'=>'albert.dupont@skynet.be');
# -----------------------------------------------------------


@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = 'french';
$charset = 'iso-8859-1';
$date_fmt = '%A %d %B, %Y à %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
si je place l'adresse du postmaster en %recipient alias le mail arrive chez info#mondomaine@com
Si je place albert.dupont@skynet.be et bien le mail arrive toujours au postmaster soit info@mondomaine@com ???

Avez vous une solution ?

Merci

joomlaovh
13/06/2006, 10h10
Merci Neopast pour ton aide. Je pensais l'avoir fait mais par acquis de conscience j'ai recommencé le transfert. Effectivement c'etait ca. Merci encore !
Marc

neopast
12/06/2006, 21h04
A première vue je ne trouve rien dans le code qui pourrait causer l'erreur. Ce qui ne veut pas dire qu'il n'y a pas une erreur de syntaxe quelque part.

T'as bien transféré le fichier en mode ASCII ?

joomlaovh
09/06/2006, 15h40
Bonjour à tous :-),
Contrat 90 Plan sur lequel j'ai installé Joomla. La fonction Mail ne fonctionne pas malgré avoir presque tout essayé. J'ai donc installe NMS tel qu'indiqué dans le How-to. Cependant je rencontre systématiquement une erreur "500 Internal Server Error". Ce serait sympa de me donner un coup de pouce. Voici mon script nommé abcdefg.pl avec les droits 755 ainsi que le repertoire cgi-bin :
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'webmestre@xxxxx.com';
@referers = qw(xxxxx.com);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1' => 'webmestre@xxxxx.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission
Thank you for your form submission.
END_OF_CONFIRMATION

Voici la source HTML de la page :



formulaire








Objet :

Nom :

E-mail :









Merci de votre aide !
Marc

routard
05/06/2006, 09h01
salut
merci neopast
desole pour l'oubli du '
a+

Homer Jay
01/06/2006, 04h32
Edith écrivait :
D'ailleurs, est-ce qu'un "savant" pourrait nous expliquer les conséquences des différents modes de transfert?
En mode binaire, les fichiers sont transmis tels quels sans traduction; une comparaison bit à bit ne trouverait pas de différence entre l'original et la copie.

En mode «texte», le transfert convertit les fins de ligne pour qu'elle soit comme il faut sur le serveur, suivant le codage employé sur le client. Par exemple, Unix termine les lignes avec LF alors que MS-DOS les termine avec CRLF: dans les cas où les CR sont considérés comme nocifs, il est important que les CRLF soient traduits en LF lors de l'upload et la transformation inverse pour le download.

neopast
31/05/2006, 23h55
D'ailleurs, est-ce qu'un "savant" pourrait nous expliquer les conséquences des différents modes de transfert ?
Je ne suis pas un "savant", mais dans les grandes lignes c'est une question d'encoder correctement les sauts de ligne (PC/Windows vs. UNIX).

question simple : d'ou vient le bug ??????
Ça, c'est rarement une question simple.
Mais dans ton cas,il semble manquer un apostrophe dans %recipient_alias = ('1' =>'quizz_mco@xxxxxxxxxxx.com);
Essaye avec %recipient_alias = ('1' => 'quizz_mco@xxxxxxxxxxx.com');

La plupart de erreurs sont soit des erreurs de 'mauvais droits de fichier', soit de 'mauvais type de transfert', soit de syntaxe, alors vérifiez bien les lignes de script que vous avez modifié.

canaille83136
30/05/2006, 20h45
Merci à tout le monde et la contribution de chacun m'aura aidée a faire mon choix.


Une autre et dernière question SVP.

Mais comptes mail sont donc en POP, au nombre de 5 pour le moment. Existe il une solution pour que j'ai une alerte email sur un seul mail (mon perso par exemple) a chaque fois que j'ai un mail reçu sur un des 5 PRO.

Merci

routard
28/05/2006, 18h35
hello,
suite a une migration vers 60gp, j'ai a nouveau tente l'installation du formulaire mais je recois une erreur 500 !!!
(un script a peu pres analogue tournait sous free.fr)

voici mon code html :







Entrez votre pseudo :



et voici l'entete du script (chmod 705 sur cgi-bin et 755 sur le script

#!/usr/bin/perl -wT
################################################## ############################
# nms Formmail Version 3.14c1 #
# Copyright 2001 London Perl Mongers All rights reserved #
# Created 11/11/01 Last Modified 08/11/04 #
# Matt's Script Archive: http://www.scriptarchive.com/ #
################################################## ############################
# nms Formmail has been created as a drop in replacement for the FormMail #
# found at Matt's Script Archive. Both the original and nms versions of this #
# script can be found at the above URL. Support for nms Formmail is #
# available through: nms-cgi-support@lists.sourceforge.net #
################################################## ############################
#
# NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License <http://www.gnu.org/licenses/gpl.html> or
# the Artistic License
# <http://www.perl.com/pub/a/language/misc/Artistic.html>
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'quizz_mco@xxxxxxxxxxx.com';
@referers = qw(xxxxxxxxxxx.com);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1' =>'quizz_mco@xxxxxxxxxxx.com);
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission

Thank you for your form submission.

END_OF_CONFIRMATION




question simple : d'ou vient le bug ??????
merci
Routard

crevet
23/05/2006, 23h29
je me suis trompé, c'était mon répertoire que OVH avait mal configuré ou je ne sais trop quoi...
le script marche a la perfetion

encore mille pardon et mille merci pour cette explication

Edith
23/05/2006, 13h26
crevet écrivait :



[/B]
Déjà, remplacer les ” (guillemets typographiques) par des guillemets simples.

Et tranférer le fichier html en mode binaire (j'ai ramé pendant des semaines sur mon site précédent avant de découvrir que le "hic" venait du mode de transfert de la page html.

D'ailleurs, est-ce qu'un "savant" pourrait nous expliquer les conséquences des différents modes de transfert ?

Bien cordialement,

Edith Armange

crevet
22/05/2006, 17h27
boujour je suis nouveux,voila, je suis en partie presque sur d'avoir rempli le script comme il le faut et je l'ai mis dans le bon répertoire cgi-bin (je l'ai transféré en ASCII et lui ai donné la valeur 755, mème si je ne comprend toujours pas pourquoi il est répété CH MOD ) et quand je teste de mon site le formulaire il m'envoi sur la page:

Not Found
The requested URL /cgi-bin/formu.pl was not found on this server.
Apache/1.3.34 Server at www.XXXXXX.eu Port 80

j'ai essayé de mettre le dossier cgi-bin dans le répertoire www et le résultat est le mème...
j'en ai déduit que c'était le html de mon formulaire qui n'allait pas, et d'ailleur il est vrai que je l'ai fait à taton:















j'ai changer les extension .htm par .html pour les pages bravo et erreur que j'ai placer dans le répertoire www
j'ai changer quelques valeurs un peu a l'aveuglette et j'ai juste rajouté


je serait très reconnaissant de la personne me venant en aide parcequ'il me manque à l'évidence des bases que je n'arrive pas a trouver sur google...
merci encore d'avoir lu ce message jusqu'au bout

crevet
22/05/2006, 16h36
bonjour, alors je suis pratiquement sur d'avoir modifié le script comme il le fallait, je l'ai mis dans le fichier adéquate(cgi-bin), je lui est donné la valeur 755 (mème si je ne comprend pas pourquoi il est répéter ch mod),
sauf que j'ai vraiment beaucoup de mal a faire mon formulaire html, jugez en par vous mème je ne m'en vente pas trop:















en effet j'ai juste rajouté un

,modifier quelques valeurs et modifier les extensions erreur.htm par .html sans vraiment savoir si ce que je faisait était juste
Le fait est que quand je fait envoyé je tombe sur:

Not Found
The requested URL /cgi-bin/formu.pl was not found on this server.
Apache/1.3.34 Server at www.XXXXXX.eu Port 80

j'ai mème mis le répertoire cgi-bin dans le dossier www.
sans résultat...
si quelqun pouvai me venir en aide sur le html du formulaire ce serai très gentil de sa part
(j'ai aussi créé une page bravo.html et erreur.html)
merci encore d'avoir lut jusqu'au bout

Edith
21/05/2006, 11h41
Grâce à ces explications très claires, je viens de mettre mon formulaire en ligne et tout fonctionne.

Merci beaucoup ,

Edith Armange

joss
17/05/2006, 09h30
merci de la reponse rapide Neopast,
merci pour le how to
j'avais mis dans le premier l'url www.dating-cooking.info
et dans l'autre 60gp.ovh.net/datingco
j'ai remis les deux adresses pareil,et ca marche super
encore milles merci pour l'aide que vous apportez a tous
les personnes comme vous sont rare et précieuse,
que la vie vous apporte tous ce que vous souhaitiez,et certainement le meilleur.

de tout mon coeur joss.

neopast
16/05/2006, 20h45
1. Tu as mis quelles valeurs pour @referers et $allow_empty_ref ?
2. Est-ce que ton navigateur / firewall bloque les referrer ?

joss
16/05/2006, 11h04
bonjour a tous,et grand merci a vous pour ce how too

pour moi formmail, ca marche bien en local sur mon pc .mais dés que je veux éxecuter le formulaire a partir
mon site il s'affiche ceci

Bad Referrer - Access Denied
The form attempting to use this script resides at http://www.monsite.info/admin/editpr...area=contenu1, which is not allowed to access this program.

If you are attempting to configure FormMail to run with this form, you need to add the following to @referers, explained in detail in the README file.

Add 'www.monsite.info' to your @referers array.


--------------------------------------------------------------------------------


merci de votre aide
joss.

FormMail © 2001-2003 London Perl Mongers

Bad Referrer - Access Denied

neopast
11/05/2006, 23h02
@Gdstaff
Je pense que c'est plutôt un hasard. J'utilise ce script sur plusieurs sites depuis des années sans jamais avoir eu ce genre de problème.

Ayant vu les formulaires en question, je tu suggère :
1. D'éviter autant que possible de publier une adresse email en clair, en particulier en combinaison avec mailto. Ça enlève peut-être la possibilité d'envoyer des mails en format libre, mais si jamais cette adresse est récupérée par des robots, alors tu pourras être content de ne recevoir que 2 spams par jour.
2. Maintenant que quelqu'un a 'trouvé' ton formulaire pour en abuser, tu peux choisir :
a) ignorer les spams si leur nombre est limité
b) essayer de jouer à chache-cache en changeant de temps en temps le nom du formulaire
c) commencer à modifier et adapter ta fonction de vérification JavaScript, par exemple refuser l'envoi si le contenu de certains champs est identique, ou bien si il y a des balises HTML comme "" dans les champs
d) mettre en place une solution CAPTCHA (voir
Wikipedia ). Il en existe peut-être aussi pour JavaScript.

Désolé, les choix ne sont pas grandioses, mais le spam ne l'est pas non plus. Peut-être que qqn a d'autres idées.

@Salette
A ma connaissance ce n'est pas possible avec ce script, et une modification de celui-ci n'est certainement pas facile. Tu devrais t'orienter vers un autre script, mais je ne sais pas trop lequel te conseiller.

Salette
10/05/2006, 18h41
Bonsoir

Merci pour ce dicdatiel vraiment très bien fait. Si bien fait d'ailleurs que j'ai réussi à mettre mon formulaire en ligne très facilement.

J'aimerai que les internautes qui remplissent ce formulaire puissent m'envoyer en même temps des fichiers images. Dans mon formulaire c'est prêt, mais évidemment n'ayant rien paramétrer les fichiers joints ne sont pas envoyés.

Mes connaissances étant minimales, est-il possible de rajouter cette fonction assez facilement ?

merci pour éclaircissements

Salette

Apprenti webmaster

Gdstaff
10/05/2006, 12h01
Premier bémol : alors que précédemment je n'avais jamais reçu de spam sur mes formulaires, là je viens d'en revoir 2 juste après la mise en ligne des pages.
Les formulaires ont peut-être été remplis de manière automatique jusque tous les champs sont complétés de la même façon. Dans le message il y a toute une liste de liens vers des pages d'autres sites.
D'autres ont-ils ce genre de problème ?

Gdstaff
09/05/2006, 23h15
Merci aux animateurs de ce forum et plus particulièrement à Boper pour sa présentation très claire du Formmail et surtout à Neopast qui m'a accompagné pas à pas en me consacrant beaucoup de temps.
A présent, tout est rentré dans l'ordre et mes formulaires fonctionnent mieux qu'avec le script d'OVH (et dire que les "techniciens" de son support ne sont toujours pas fichus d'apporter la moindre aide à leurs clients pour les tirer du mauvais où les ont mis les administrateurs).
Encore merci et à la prochaine !

Gdstaff
08/05/2006, 13h17
J'ai essayé la modif du script mais le résultat est le même.
Peux-tu m'envoyer une adresse sur laquelle je pourrais expédier le fichier des pages en question ?

neopast
08/05/2006, 12h33
OK, je comprends mieux maintenant, autant que ce soit possible avec seulement une partie du code disponible :

1. Dans ton formulaire, tu as, ou devrais avoir, un bouton qui ouvre la page de confirmation sans envoyer le formulaire même.
2. Dans la page de confirmation, tu récupères les données du formulaire par l'intermédiaire de 'windows.opener'.

Ce qui semble manquer,c'est l'envoi du formulaire à partir de la page de confirmation. Ça donne quoi avec
dans la page de confirmation ?

Gdstaff
08/05/2006, 09h29
Merci d'avoir pris la peine d'étudier mon cas si tard hier soir.
Je ne suis pas un programmeur expert (mais ça tu le sais depuis le début...) et je ne connais que le langage javascript (et encore pas à fond).
Ce que je peux dire cependant, c'est que mon script (mis au point avec l'aide très précieuse d'un informaticien canadien découvert sur un autre forum il y a 2 ans) fonctionnait bien jusqu'à ce que mon hébergeur (OVH) change quelque chose ce qui a entraîné le non acheminement des formulaires.

L'affichage de la page intermédiaire (disons de confirmation) n'est pas vraiment indispensable mais je trouve que pour le client son aspect de vraie facture est tout de même plus agréable que le simple renvoi des éléments d'un formulaire.
Alors, j'aimerais faire fonctionner l'ensemble comme avant. Ce devrait être possible sans reprogrammation php ou perl, non ?

neopast
08/05/2006, 02h20
cela te suffit-il ?
Disons que là on n'est plus dans un contexte de bon fonctionnement du script, mais dans la programmation et le déboguage JavaScript.

Tout ce que je peux dire à cette heure un peu tardive, c'est que ta vérification de formulaire est un peu particulière. Habituellement on s'attendrait plutôt à quelque chose du genre
onsubmit="confirmer();">
confirmer(); étant une fonction JavaScript qui retourne false ou true en fonction du résultat de la vérification. Le fait de passer par un pop-up complique les choses, et je ne sais pas si ce que tu veux faire et comme tu veux le faire est faisable en JavaScript. En tout cas je n'ai pas encore essayé.

S'il faut vraiment avoir une page intermédiaire de confirmation où tout s'affiche, je procèderais plutôt comme suit, avec PHP et le script Perl :
1. formulaire.php (état initial des champs : vide)
2. submit du formulaire : vérification JavaScript des champs (vérification de la forme) et affichage page confirmation.php (vérification du contenu et affichage par exemple sous forme de formulaire avec champs non-modifiables en récupérant les données envoyées par formulaire.php)
3. Si confirmation.php OK, alors tu appelles le script Perl, sinon tu repasses les données à formulaire.php, les champs de celui-ci étant maintenant préremplis. JavaScript devrait te permettre de modifier de façon dynamique l'attribut 'action' de la balise 'form' dans confirmation.php.

Sans réaffichage c'est possible avec JavaScript uniquement en utilisant la fonction confirm() : ce que l'utilisateur a saisi ne se réaffiche pas encore une fois sur une autre page, on lui demande juste s'il est bien sûr de vouloir envoyer le formulaire.

Gdstaff
07/05/2006, 23h53
C'est du javascript.
En effet, c'est la page de confirmation qui appelle la page de remerciement. Mais après la modif, la page de confirmation rappelle la page de confirmation !

Voici le code de la page du formulaire :

à la fin du script sur les erreurs concernant les champs du formulaire, il y a la ligne qui désigne la page de confirmation :
window.open("confirmation.htm","_blank","width=645 ,location=no,toolbar=no,scrollbars=yes,status=no,m enubar=no,resizable=yes")

puis à la borne FORM :
method="post" name="FAQ">




Voici le code de la page de confirmation :

function confirmer()
{
(suivent les composants de cette fonction)
}

formu = window.opener.document.formulaire;

(suivent les données concernant les champs et la mise en page)



et plus loin :

cela te suffit-il ?

neopast
07/05/2006, 23h21
Je ne sais pas si j'ai été assez clair
Moyennement. Peux-tu donner le code ou l'URL de ton formulaire et de la page de confirmation ?

D'apres ce que tu écris, je suppose qu'il y a un onSubmit quelque part dans ton formulaire et que ta page de confirmation est en PHP ou Perl. C'est la page de confirmation qui doit appeler le script, pas la page avec le formulaire.

Gdstaff
07/05/2006, 23h02
Pour mon deuxième problème, c'est réglé (c'est bête mais je n'avais pas pensé à utiliser la fonction rechercher, merci de me l'avoir rappelée).

En revanche, pour le premier ça ne colle pas.
Il faut dire que mon formulaire est un peu compliqué et qu'il fonctionne avec 2 submit en cascade.
Je m'explique : à la fin du formulaire (il s'agit d'une commande de vins), quand le visiteur clique sur confirmer (submit) s'ouvre une page qui récapitule sa commande (comme une facture) qu'il peut confirmer ou non. S'il la confirme, le formulaire est envoyé mais il ne doit pas voir apparaître la copie de ce formulaire (comme c'était le cas avant ma modif) mais une page de remerciement.

Depuis que j'ai fait la modif que tu m'as suggérée, quand on confirme la commande on ne voit apparaître ni la copie du formulaire ni la page de remerciement mais c'est la page de récapitulation qui revient mais vide (les éléments de la commande ont disparus) après qu'on ait un instant aperçu la page où se trouve le formulaire. C'est curieux parce que la page de remerciement n'a évodemment pas le même nom que la page de confirmation.
Je ne sais pas si j'ai été assez clair et si cela te permets de voler encore une fois à mon secours.

neopast
07/05/2006, 17h30
1. et le "hidden" en miniscules, pour la forme

2. Ça devrait se passer dans
sub send_main_email_body_header
vers la ligne 2836. Fais une recherche sur "Below is the result of your feedback form." dans le code.

Gdstaff
07/05/2006, 16h28
l'essentiel fonctionne mais j'aimerais changer 2 choses :

1. quand le visiteur clique sur confirmer, il ne voit pas apparaître la page dont j'ai indiqué l'adresse sur ma page htlm (par : mais une copie du formulaire. Comment faire pour obtenir ce que je veux ?

2. Le formulaire qui me parvient est bon mais j'aimerais changer son entête en mettant la phrase en français :

Below is the result of your feedback form. It was submitted by
() on dimanche 07 mai, 2006 à 14:50:18

je n'ai pas trouvé l'endroit du script où se trouve cet entête. Pouvez-vous me l'indiquer ?

D'avance merci

Gdstaff
07/05/2006, 14h53
Autant pour moi, je viens de vérifier les propriétés du fichier .pl et chmod n'était pas à 755 (j'avais cette valeur pour le répertoire cgi pensant qu'elle se répercutait sur le fichier). Du coup, après rectification, ça marche !
Il y a encore quelques détails à régler mais en attendant merci beaucoup !

Gdstaff
07/05/2006, 14h44
j'ai mis le .pl en chmod 755
Voici ma user configuration :

BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'webmestre@mondomaine';
@referers = qw(mondomaine);
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1' => 'webmestre@mondomaine');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = 'french';
$charset = 'iso-8859-1';
$date_fmt = '%A %d %B, %Y à %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission

Thank you for your form submission.

END_OF_CONFIRMATION

Y a-t-il quelque chose qui cloche ?

joz
07/05/2006, 13h14
il faut savoir que ceci peut être exploité par des personnes malveillantes
Merci de m'avertir, d'autant que ça n'est pas absolument indispensable, je vais faire sans .

Gdstaff avec CuteFtp - le 6 pro, desolé le mien est en anglais - tu vas dans "site manager", bouton droit sur le site qui t'interesse et tu cliques "properties", 2e onglets "type", "transfert type" (l'avant dernier menu deroulant) et tu choisis "auto-detect" (tu peux choisir ASCII ou binaire, mais auto-detect fonctionne tres bien).

Et ensuite (ça m'est arrivé) pense a vider le cache de ton navigateur quand tu teste ton script (oui je sais ça n'a theoriquement pas d'influence) mais sous firefox il m'a fallu au moins 3 refresh, pour qu'il prenne en compte mes modifs et hop d'un coup ça c'est mis a fonctionné ....

neopast
07/05/2006, 11h30
Gdstaff,

Soit tu n'as pas changé les droits du script .pl (CHMOD 755), soit il y a une erreur dans le script (syntaxe ou autre).

S'il y a une erreur dans le script, il faudrait que tu postes ta USER CONFIGURATION SECTION (avec des adresses email bidon), sinon on ne peut rien dire.

Gdstaff
07/05/2006, 11h12
suite de mon message précédent :
ayant relu le topic, j'ai téléchargé FileZilla et effectué les transferts.
Après essai de fonctionnement, j'ai obtenu le message d'erreur suivant :

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, tech@ovh.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Quelqu'un pourrait-il me dire l'origine du problème ?

Gdstaff
07/05/2006, 09h25
Bonjour,
J'ai lu avec beaucoup d'intérêt ce topic et j'ai grâce à lui adapté un script pour mon site.
Cependant, j'ai un problème : pour tranférer mes fichiers sur le serveur, j'utilise le logiciel CuteFTP et je n'y ai pas trouvé le moyen de tranférer formu.pl en mode ASCII ni le fichier web en mode binaire.
Quelqu'un a-t-il une solution ?

neopast
05/05/2006, 16h46
Joz,

Il n'y a pas de quoi.

Pour ce qui en est des email de confirmation, il faut savoir que ceci peut être exploité par des personnes malveillantes. Il est par exemple possible de mettre l'adresse email d'un tiers dans le formulaire, est c'est lui qui recevra la confirmation alors qu'il n'y est pour rien. Bien entendu on peut automatiser cette procédure, et alors le tiers sera 'noyé' dans une attaque d'emails qui viennent tous de chez... toi, et dont tu peux être tenu comme responsable, par exemple par OVH.

joz
03/05/2006, 14h52
Merci Neopast, ça marche Nickel !

flypower
02/05/2006, 22h46
Bonjour, Bonsoir à toutes et tous,

Pour l'envoi d'un seul formulaire à plusieurs email, j'ai suivi l'étape :

@allow_mail_to = ();
%recipient_alias = ('1' => 'your-name@your.domain,your-name@somewhere-else.domain',);

Y a t il encore autre chose à modifier ?

Merci
Bravo pour le HOW TO.

A bientot.
Jean-Yves

neopast
02/05/2006, 15h45
est bien sensée envoyer un mail de confirmation ? Ce qu'elle ne fait pas sur ma config
Joz,

T'as changé la ligne
$send_confirmation_mail = 0; en
$send_confirmation_mail = 1; ?

joz
28/04/2006, 13h03
Pour cet excellent HowTo qui m'as permis de me frotter a un script perl ans trop me prendre la tete.
Je vais essayé d'apporter ma pierre a l'edifice. J'avais besoin d'envoyer le formulaire sur differentes adresses (genre contacts@, infos@ ou webmaster@ mais separement !) La petite astuce (qui paraitra stupide a des codeurs confirmés mais qui pourra aider des handicapé du code dans mon genre c'est un boite deroulante
2 - dans son formulaire, on met un menu deroulant que l'on nomme recipient, on nomme ses options comme on veut, et l'astuce consiste a mettre une valeur dans le tag on obtient un code dans ce genre là:

3 - dans son fichier formail on reecrit, comme expliqué par boper la ligne %recipient_alias = ('1' => 'contact@nomdomaine.com') en rajoutant les adresses souhaitées et la valeur qui la designe en les separant par une virgule %recipient_alias = ('1' => 'contact@nomdomaine.com', '2' => 'infos@nomdomaine.com', '3' => 'webmaster@nomdomaine.com') etc... on en met autant qu'on en a besoin.

Voila en esperant avoir ete clair et que ça en aidera certains pas tres a l'aise avec le code ... comme moi

Ensuite, une petite question la partie :
From: you@your.com
Subject: form submission

Thank you for your form submission.

END_OF_CONFIRMATION

est bien sensée envoyer un mail de confirmation ? Ce qu'elle ne fait pas sur ma config

Et pour repondre a routard, free heberge un script a disposition de ses utilisateurs, j'arrive pas a le retrouver mais regarde dans les pages supports pages perso ou qq part par là.

Encore merci et vive les forums !!

neopast
28/04/2006, 10h43
Si tu veux un formulaire sur ton site il te faut un hébergement quelque part qui te permette d'exécuter des script (Perl, PHP etc.), ou bien externaliser cette fonction chez un prestataire ou je ne sais qui.

A la limite un mailplan chez OVH devrait suffire (l'execution de script est possible si je me rappelle bien). Le formulaire et le script ne doivent pas obligatoirement être sur le même site, il faut juste configurer correctement le script.

routard
24/04/2006, 19h46
hello
et pour moi, quelle serait la solution (pour rappel je suis sur 20GP dont pas de formail.pl) ? j'ai egalement des comptes sur free ;
question : pour utiliser une formulaire, est ce qu'il faut absolument que ma pâge appelant le formulaire soit hebergee sur free ?
et dans ce cas, existe i t il des services gratuits pouvant le gerer ?
merci
a+

jipe
24/04/2006, 08h53
Merci Neopast,

Le probléme s'est résolu tout seul.

Ce n'est pas magique, un ticket a été ouvert par ovh sur :

http://travaux.ovh.net/index.php?do=details&id=890

Le pb était comme tu me l'indiquais lié au transfert des emails (en cause : ovh). Je ne devais pas être le seul dans ce cas.

@+

neopast
23/04/2006, 13h06
Depuis 10 jours plus aucun formulaire n'arrive dans ma boîte.
Je passe donc à NMS FormMail Version 3.14c1. Tout va bien (page bravo) sauf que je n'ai tjs rien dans ma boîte mail.
Bonjour,

Si ce script s'exécute correctement et que la boîte ne fonctionnait pas avant avec un autre script, le problème se situe plutôt au niveau de la boîte, ou de l'envoi d'OVH vers Free.

J'essaierais d'abord de changer d'adresse de destination, par exemple postmaster@nomdedomaine.com, nomdedomaine.com étant celui associé à l'hébergement 90plan, pour vérifier si le problème se situe au niveau de la boîte de réception actuelle et pas au niveau des script.

P.S.
Et je ne mettrais jamais mon adresse e-mail en clair dans un forum public. monadresseemailATfreeDOTfr donne toutes les infos nécessaires sans dévoiler ce qui ne l'est pas.

jipe
20/04/2006, 19h23
bonsoir,

jusqu'à présent mes formulaires tournaient parfaitement avec reponse.pl sur http://www.ovh.net/cgi-bin/.
Depuis 10 jours plus aucun formulaire n'arrive dans ma boîte.
Je passe donc à NMS FormMail Version 3.14c1. Tout va bien (page bravo) sauf que je n'ai tjs rien dans ma boîte mail.


qq a-t-il une idée ?

je suis en 90 plan

Merci d'avance de votre aide
#!/usr/bin/perl -wT
################################################## ############################
# nms Formmail Version 3.14c1 #
# Copyright 2001 London Perl Mongers All rights reserved #
# Created 11/11/01 Last Modified 08/11/04 #
# Matt's Script Archive: http://www.scriptarchive.com/ #
################################################## ############################
# nms Formmail has been created as a drop in replacement for the FormMail #
# found at Matt's Script Archive. Both the original and nms versions of this #
# script can be found at the above URL. Support for nms Formmail is #
# available through: nms-cgi-support@lists.sourceforge.net #
################################################## ############################
#
# NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License <http://www.gnu.org/licenses/gpl.html> or
# the Artistic License
# <http://www.perl.com/pub/a/language/misc/Artistic.html>
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'studioimagine@free.fr';
@referers = qw();
@allow_mail_to = qw();
@recipients = ();
%recipient_alias = ('1'=>'studioimagine@free.fr');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: you@your.com
Subject: form submission

Thank you for your form submission.

END_OF_CONFIRMATION

# You may need to uncomment the line below and adjust the path.
# use lib './lib';

# USER CUSTOMISATION SECTION

L.Boggio
16/04/2006, 22h33
Pas d'exécutables sur un 20GP : ni PHP, ni PERL, donc, forcément, tu ne peux pas utiliser ce genre de scripts. Passe au 60GP.

routard
15/04/2006, 23h47
hello
un grand merci pour ce topic mais ca ne marche pas chez moi (j'ai un 20GP)
et voici le message d'erreur qui apparait lorsque je clique sur valider :

*********************************************
"Method Not Allowed
The requested method POST is not allowed for the URL /cgi-bin/routard.pl.
--------------------------------------------------------------------------------
Apache/1.3.34 Server at www.mondomaine.com Port 80"
*********************************************

merci pour votre aide !!!

bambou
07/04/2006, 19h17
J'ajoute à ce superbe HOWTO, la personalisation facile du format de date afin qu'elle apparaisse en francais au lieu de l'anglais.

Voici ce que j'ai fait dans le formmail:

Modifier $locale = '';

par:

$locale = 'french';

puis modifier $date_fmt = '%A, %B %d, %Y at %H:%M:%S';

par:

$date_fmt = '%A %d %B, %Y à %H:%M:%S';


Resultat, au lieu de voir dans l'email de resultat "Thursday, April 06, 2006 at 01:22:24", on obtient "jeudi 06 avril, 2006 à 01:22:24"

Voila!

Bambou

wilson
31/03/2006, 14h11
merci pour ta reponse

en effet ca roule avec @recipients = ();

merci

boper
31/03/2006, 12h15
bonjour wilson

remplace la ligne @recipients = (wilson@XXX.com); par @recipients = ();

ensuite assures toi d'avoir la ligne dans le code de ta page HTML ...

si ça ne fonctionne pas ... n'oublies pas de nous montrer aussi ton code HTML .... de ton formulaire

wilson
31/03/2006, 12h06
salut , j'ai beau suivre ce super HOW to !!

tjs un INTERNAL ERROR
voici mon formulaire.pl

#!/usr/bin/perl -wT
################################################## ############################
# nms Formmail Version 3.14c1 #
# Copyright 2001 London Perl Mongers All rights reserved #
# Created 11/11/01 Last Modified 08/11/04 #
# Matt's Script Archive: http://www.scriptarchive.com/ #
################################################## ############################
# nms Formmail has been created as a drop in replacement for the FormMail #
# found at Matt's Script Archive. Both the original and nms versions of this #
# script can be found at the above URL. Support for nms Formmail is #
# available through: nms-cgi-support@lists.sourceforge.net #
################################################## ############################
#
# NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License <http://www.gnu.org/licenses/gpl.html> or
# the Artistic License
# <http://www.perl.com/pub/a/language/misc/Artistic.html>
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 0;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 5;
$mailprog = '/usr/sbin/sendmail -oi -t';
$postmaster = 'wilson@XXX.com';
@referers = qw(XXX.com);
@allow_mail_to = qw();
@recipients = (wilson@XXX.com);
%recipient_alias = ('1' => 'wilson@XXX.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = '';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';

From: XX@XXX.com
Subject: Formulaire

Thank you for your form submission.

END_OF_CONFIRMATION

neopast
27/03/2006, 21h08
Pour info :

1. Comme l'a précisé Boper, ce HOW TO est pour NMS FormMail version 3.14c1. NMS FormMail est un remplacement amélioré et plus sûr du script FormMail qu'on trouve sur scriptarchive.com et d'autres sites. N'utilisez PAS le script FormMail version 1.92, même s'il y a encore des sites qui le proposent ou pointent dessus. Ceci vaut aussi pour les traductions en français. Si vous avez un doute sur la version que vous utilisez, regardez dans l'en-tête du code du script.

On trouve NMS FormMail en passant par le lien que Boper indique, ou bien directement chez les auteurs : http://nms-cgi.sourceforge.net/scripts.shtml . Il faut choisir la dernière version 'compat' (comme 'compatible').

2. Il faut renommer le fichier FormMail pour qu'il soit moins facilement repérable par les spammeurs. Et à ma connaissance OVH ne permet pas l'exécution, dans le répertoire cgi-bin, de scripts nommés FormMail. La question se règle donc d'elle même. Vous pouvez aussi chercher 'formmail' dans ce forum pour plus d'infos à ce sujet.

boper
27/03/2006, 14h30
dans la partie concernant le fichier formMail.pl une petite erreur s'est glissée dans la ligne $postmaster

il manque devant l'email le petit '

il faut donc remplacer cette ligne par celle-ci :

$postmaster = 'contact@mondomaine.com';


boper
24/03/2006, 15h32
Procédure pour insérer un formulaire sur votre site web.

Les résultats du formulaire vous parviendront sur votre boite de courrier électronique de votre choix.


Merci à Neopast pour son aide précieuse.

==============================


FICHIER FormMail.pl

1 - Télécharger le script nms ForMail sur http://www.scriptarchive.com/nms.html
La dernière version connue à ce jour (mars 2006) est : 3.14c1
Il est conseillé d’installer toujours la dernière version qui corrigerait des vulnérabilités. Aussi n’hésitez pas à vérifier si une nouvelle est sortie.
2 - renommer le fichier
par ex : formu.pl
3 - dans celui-ci s'assurer d'avoir en toute premiere ligne : #!/usr/bin/perl -wT
4 - dans la section utilisateur corriger la ligne $mailprog : remplacer /usr/lib/sendmail -oi -t par /usr/sbin/sendmail -oi -t
5 - dans la section utilisateur toujours, personnaliser les lignes suivantes :
$DEBUGGING = 0;
$postmaster = contact@mondomaine.com';
@referers = qw(mondomaine.com);
@allow_mail_to = qw();
%recipient_alias = ('1' => 'contact@nomdomaine.com');

Note 1 : les réponses du formulaire seront reçues sur contact@mondomaine.com = à vous de personnaliser cet email bien sûr en le remplaçant par le votre
Note 2 : Le nom de domaine de la ligne @referes s’écrit sans les www. Ce nom de domaine là aussi doit être personnaliser avec le votre.
6 - transferer le fichier en ASCII dans le répertoire cgi-bin pré-configuré sur l'hébergement
(sur FileZilla : le transfert en mode ASCII s'obient par le menu TRANSFERT > TYPE DE TRANSFERT)

7 - lui attribuer les droits 755 (chmod)

(sur FileZilla : sélectionner "attributs du fichier" après clic droit sur le fichier)



FICHIER page web

1 - mettre le code suivant en tête du formulaire









La ligne est rattachée à la ligne %recipient_alias dans le fichier FormMail.pl : sa valeur est « 1 » et donc le contenu du formulaire sera envoyé à l’adresse contact@nomdomaine.com . Cette adresse doit être celle de la personne qui va recevoir le contenu du formulaire.
Dans le cas où vous souhaitez que ce contenu parvienne à 2 destinataires (ou plus) il faut compléter la ligne %recipient_alias en mettant les 2 adresses (ou plus) l’une derriere l’autre en les séparant d’une virgule = ('1' => 'contact@nomdomaine.com,contact@unautredomaine.com ');
Sur le formulaire la ligne reste inchangée.

les résultats du formulaire seront reçus sur la boite email notée dans le fichier formu.pl (soit : contact@mondomaine.com = à vous de le personnaliser bien sûr) avec comme objet le libellé donné par le value de cette ligne de votre formulaire
On peut également mettre à sa place cette ligne : , dans ce cas l'objet sera ce que l'utilisateur aura saisi dans le champ. Si on veut pousser plus loin, on peut aussi proposer un menu déroulant avec un choix prédéfini d'objets de messages.

la page erreur.htm s'affiche s'il manque des données dans un des champs requis du formulaire. Les champs requis sont donnés par le « value » de la ligne . A vous d'y indiquer les noms des champs que vous voulez rendre obligatoires.

la page bravo.hm s'affiche si tous les champs requis sont renseignés et pour confirmer une fois le formulaire valider sa bonne prise en compte avec un message de type : Votre demande / question est bien prise en compte et sera traitée dans les meilleures délais. Merci pour l’intérêt que vous nous portez !
Vous devez vous-mêmes créer les pages erreur.htm et bravo.htm. Vous pouvez donnez à ces pages un nom, un contenu et un emplacement de votre choix.

L’email que vous recevrez aura en entête nobody@60gp.ovh.net
Si vous voulez qu’il soit remplacer par le nom et l’email que votre expéditeur a inscrit dans le formulaire il faut ajouter dans celui-ci les valeur realname et email pour les champs NOM et E-MAIL
Nom :
E-mail :
Le seul inconvénient c’est que ces 2 réponses ne s’afficheront que dans l’en-tête et disparaitront des réponses du formulaire.


2 - et ce code en queue de formulaire






La ligne est optionnelle.

3 - le transférer par ftp en mode binaire
(sur FileZilla : le transfert en mode binaire s'obient par le menu TRANSFERT > TYPE DE TRANSFERT)