8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je m'occupe du site d'une association et enfaite ils veulent envoyer toutes les semaines un mail aux membres avec un message en HTML et une pièce jointe (pour le programme des activités).

Donc j'ai fais une page index.php avec un formulaire (email du destinataire, sujet, message en html, et la fonction "parcourir" pour envoyer la piece jointe avec :

<input type="file" name="send_input" size="10" />


J'ai une page send.php qui envoie le message et tout et tout
Tout marche saus l'envoie de la piece jointe

Voila donc je ne sais pas comment récupérer le fichier "uploadé" et l'envoyer avec le message

je vous mets mon code php de la page send.php qui envoie le mail

...
 $headers = $ident_b ."\n";
     $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
     $headers .='Content-Transfer-Encoding: 8bit';
     $message = $_POST['FCK'];


     if(mail($var_cible, $var_sujet, $message, $headers))
     {
          echo "Le message a été envoyé à $var_cible;
     }
     else
     {
          echo 'Le message n&acute;a pu être envoyé veuillez réésayer. Merci.';
     }
	 

...

Merci Smiley smile
Modifié par wanakill (28 May 2009 - 20:10)
salut

le formulaire d'upload si upload il y à, contient bien ceçi?

<form enctype="multipart/form-data" ...> // obligatoire pour l'upload

et éventuellement

input type="hidden" name="MAX_FILE_SIZE" value="2097152" //2Mo autorisé

ensuite les boundary et headers du mail doivent être corrects


11.Content-Type: image/jpeg; name="image.jpg"
12.Content-Transfer-Encoding: base64
13.Content-Disposition: attachment; filename="image.jpg"


exemple pour une image, le principe est le même pour un autre type mime.
Merci, alors j'ai rajouter dans index.php :


<form enctype="multipart/form-data" action="send.php" method="post">

.........


<input type="file" name="m3send_input_pj" size="10" />
<input type="hidden" name="MAX_FILE_SIZE" value="5242880" />


et j'ai rajouter ces 3 ligne dans send.php



$headers = $ident_b ."\n";
     $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
     $headers .='Content-Transfer-Encoding: 8bit';
     $message = $_POST['FCK'];
[b]
     $message .='Content-Type: image/jpeg; name="image.jpg"';
     $message .='Content-Transfer-Encoding: base64';
     $message .='Content-Disposition: attachment; filename="image.jpg"';
[/b]


je ne pense pas que cela est juste
de plus là on spécifie l'extension du fichier ".jpg", mais n'est il pas possible d'attacher n'importe quel type de fichier au mail ?
salut

a écrit :
de plus là on spécifie l'extension du fichier ".jpg", mais n'est il pas possible d'attacher n'importe quel type de fichier au mail ?


évidement que si, sinon à quoi çà sert? ce n'est qu'un exemple, fait un petit effort de recherche...


http://www.phpcs.com/code.aspx?ID=26501
les mail_attachement sont les variables récupérés du formulaire ?

par contre je ne sais pas exactement a quoi cela correspond :

$fichier envoyer sous "m3send_input_pj" ?
$typemime le type de fichier ?
$nom le nom du fichier ?
$from ???

apres je capte pas le type et le nom du fichier n'est pas détecter automatiquement
wanakill a écrit :
les mail_attachement sont les variables récupérés du formulaire ?

par contre je ne sais pas exactement a quoi cela correspond :

$fichier envoyer sous "m3send_input_pj" ?
$typemime le type de fichier ?
$nom le nom du fichier ?
$from ???

apres je capte pas le type et le nom du fichier n'est pas détecter automatiquement


Est ce que tu as puis découvrir se que représente
$fichier envoyer sous "m3send_input_pj" ?
$typemime le type de fichier ?
$nom le nom du fichier ?