8797 sujets

Développement web côté serveur, CMS

Salut, j'utilise un formulaire qui fonctionne bien avec formmail, mais lorsque j'essaie d'y insérer la possibilité d'une piece jointe, cela ne fonctionne plus...


<form action="http://www.monsite.com/cgi-bin/send_out_mail" method="Post" enctype="multipart/form-data" >
     <table align="center" cellpadding="2" cellspacing="0">
       <tr>
        <td valign="top" width="100%" align="center">
        <div align="center">
        <table width="350" border="0" align="center" cellpadding="0" cellspacing="3" class="cadre">
       <tr>
        <td width="128" class="bodille">Nom</td>
        <td width="222" class="bodille">Pr&eacute;nom</td>
      </tr>
       <tr>
        <td>
        <input name="realname" type="text" id="nom" size="30" />
      </td>
       <td>
        <input name="prenom" type="text" id="prenom" size="30" />
      </td>
     </tr>
      <tr>
       <td class="bodille">E-mail</td>
       <td class="bodille">Sujet de votre E-Mail </td>
      </tr>
    <tr>
      <td>
        <input name="email" type="text" id="email" size="30" />
      </td>
      <td>
        <input name="Sujet" type="text" id="Sujet" size="30" />
      </td>
    </tr>
    <tr>
      <td colspan="2" class="bodille">Message:</td>
    </tr>
    <tr>
      <td colspan="2">
        <div align="center">
          <textarea name="message" cols="60" rows="5"></textarea>
        </div>
      </td>
    </tr>
  </table>
        <label>
        <input type="file" name="fichier" id="fichier" />
        </label>
        <p></p>
  <p align="center">    <input name="Submit" type="submit" class="bodille2" value="Soumettre le formulaire" />
</p>
</div>
 <div align="center"> </div>

 </tr>
 </table>
 <input type="hidden" name="recipient" value="xxx@xxxx.com">
 <input type="hidden" name="required" value="email,realname">
 <input type="hidden" name="subject" value="Enregistrement sans INAMI Folia">
 <input type="hidden" name="title" value="Thank you for your comments.">
 <input name="redirect" value="http://www.monsite.com/formulairevalide.php" type="hidden">
 


 </form>


J'ai uniquement ajouté ceci à mon formulaire de base:

enctype="multipart/form-data" >


et

<input type="file" name="ada" id="ada" />


Une idée?
Modifié par FranZz (05 Oct 2009 - 13:49)
Ok, merci, je lis la doc, et ils prennet comme exemple, un format.gif

Je cherche la possibilité d'accepter les fichiers .gif .jpg .doc .eps .ai .xls ...

Tu l'as déjà fait?

> 1 heure après, purée ... Je nage ... Tu ne connais pas de la Doc en Français pour débutant par hasard?

Merci ..... Smiley decu Smiley biggrin Smiley eek
Modifié par FranZz (18 Nov 2008 - 16:30)
En français il y a cet article : http://www.alianwebserver.com/informatique/languages/perl/mail.htm

Ce qui est compliqué c'est qu'il faut d'abord uploader le fichier avant de l'envoyer.

Comme tu utilisais perl je t'ai proposé un truc en perl, mais par contre si tu ne connais pas du tout perl il faut savoir que tu peux aussi faire ça en php par exemple.

Personnellement je trouve que perl est beaucoup plus performant que php pour l'envoie des mail comme pour l'upload de fichier, et comme ici on utlise les deux perl est hautement recommandé.

Sinon tu peux envoyer tout ce que tu veux avec cette classe, le problème ça va être éventuellement la détection des type mime, ceci dit c'est pas très grave dans tout les cas ça arrive c'est juste que quand le type mime n'est pas bon le récepteur peux avoir du mal à détecter le type de fichier.

J'avais fait un test d'envoie de fichier ici [ effacer ]
tu peux faire des test avec tes fichiers, par contre je vais pas le laisser très longtemps, tu comprendras pourquoi...

Cet exemple détecte les fichiers image ou zip.
Modifié par matmat (20 Nov 2008 - 05:55)
Hello !!!

Merci pour la réponse !!! Très sympa de mettre cela à ma disposition pour que je l'analyse !

En fait, je viens de tester, ça roule.

En gros, je sais uploader des fichiers chez l'hébergeur dans un dossier via un formulaire. Je sais aussi insérer les champs de formulaires dans ma bdd.
Mon stress, c'est pour envoyer le mail automatiquement avec ces données.
Je pensais qu'il y avait moyen d'envoyer un mail plus facilement sans passer nécessairement par une BDD

Je vais continuer mes recherches.
Modifié par FranZz (18 Nov 2008 - 19:21)
Tu n'est pas obligé de l'insérer dans une base de données :

Tu charges le fichier dans un dossier puis tu le rajoute à ton mail :

$msg->attach(
      Type =>"Ici_le_type_mime", 
      Path =>"ici_le_chemin_root/de_ton_fichier_uploadé",        
      Filename =>"ici_le_nom_de_ton_fichier",
      Disposition => 'attachment'
    );
Lors de la modification des permissions, à quoi correspond

RECURSE SUBDIRECTORIES?

Reproduire dans les sous répertoires?

Si je modifie une permission de 777 à 755, dois-je cocher cette case?
Modifié par FranZz (19 Nov 2008 - 10:34)
C'est pour mettre la permission à tes répertoires et sous répertoires, ce n'est pas nécessaire.