begin process at 2012 05 28 19:02:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

comment insérer une pièce jointe dans l'envoi d'un mail ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment insérer une pièce jointe dans l'envoi d'un mail ?

jeudi 27 octobre 2005 à 18:20:14 | comment insérer une pièce jointe dans l'envoi d'un mail ?

arnold002

Bonjour à tous,

J'utilise un formulaire sur ma page form.php. Les données sont transmises à ma 2ème page mail.php, qui contient le script d'envoi d'emails en masse. Tout fonctionne très bien.
Aujourd'hui, j'ai besoin de rajouter la fonction d'insertion de pièces jointes, mais là, et après plusieurs heures d'essai, impossible de transférer mon fichier sur le serveur.
Je reçois bien un email contenant une pièce jointe du type ATT000....txt, de 46 octets !!

Voici mon code sur ma page mail.php:

$msg_webmaster = $_POST['msg_webmaster'];
$sujet
= $_POST['sujet'];
$NomFichier
= $_POST['fichier'];

$limite = "_parties_".md5(uniqid (rand()));

$dest = "toto@toto.com";
$mail_mime
="From: \"Mon site\"<$dest>\r\n";
$mail_mime
.= "Date: ".date("l j F Y, G:i")."\n";
$mail_mime
.= "MIME-Version: 1.0\n";
$mail_mime
.= "X-Priority: 1\n";
$mail_mime
.= "Content-Type: multipart/mixed;\n";
$mail_mime
.= " boundary=\"----=$limite\"\n\n";

//Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML

$texte
= "This is a multi-part message in MIME format.\n";
$texte
.= "Ceci est un message au format MIME.\n";
$texte
.= "------=$limite\n";

$texte
.= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$texte
.= "Content-Transfer-Encoding: 32bit\n\n";
$texte
.= ob_get_clean();
$texte
.= "\n\n";

//le fichier
$attachement = "------=$limite\n";
$attachement
.= "Content-Type: multipart/mixed; name=\"$NomFichier\"\n";
$attachement
.= "Content-Transfer-Encoding: base64\n";
$attachement
.= "Content-Disposition: attachment; filename=\"$NomFichier\"\n\n";

//$fd = fopen( $fichier, "r" );
//$contenu = fread( $fd, filesize( $fichier ) );
$fp = fopen($fichier, "rb");
$buff
= fread($fp, filesize($fichier));

fclose
($fp);
$attachement
.= chunk_split(base64_encode($buff));

$attachement
.= "\n\n\n------=$limite\n";
mail
('titi@titi.com', $sujet, $texte.$attachement, "Reply-to:$email\n".$mail_mime);

Et mon code sur la page form.php :

<form name="mail" enctype="multipart/form-data" method="post" action="mail.php" target="_blank">
Sujet du mail<br>
<input type="text" name="sujet"><br>
Mot du webmaster<br>
<textarea rows="10" name="msg_webmaster" cols="50"></textarea><br>
Piиce jointe (facultative)<br>
<INPUT NAME="fichier" TYPE="file" size="16"><br>
<input type="submit" value="envoyer">
</form>

J'ai l'impression que ma variable $fichier ne passe pas.
Si quelqu'un à le courage de m'aider, il sera le bienvenu.
Merci d'avance

jeudi 27 octobre 2005 à 21:06:11 | Re : comment insérer une pièce jointe dans l'envoi d'un mail ?

JUL14

Faudrait déjà voir à changer le content-type de ta pièce jointe : "application/octet-stream", ou mieux, récupérer le type de fichier uploadé et définir le content-type partant de là avec un "switch".

Par ailleurs un champs file se récupère en $_FILES qui est un tableau, et pas en $_POST. Fait l'essai d'un print_r($_FILES["fichier"]) en retour de formulaire, y a tout plein de trucs et de machins dont son nom d'origine et le nom de sa copie temporaire sur le serveur.
$NomFichier=$_FILES["fichier"]["name"];
pour ouvrir la copy: $fichier=$_FILES["fichier"]["tmp_name"];

d'ailleurs :

$msg_webmaster = $_POST['msg_webmaster'];
$sujet
= $_POST['sujet'];
$NomFichier
= $_POST['fichier'];

où est $fichier?

Partant de là, je sais pas si ça marchera,  mais  ça sera  déjà  mieux...

J'édifierai des cathédrales de soufrance en ton nom, Lucifer.
lundi 14 juillet 2008 à 14:14:16 | Re : comment insérer une pièce jointe dans l'envoi d'un mail ?

titiameni

Comment peut-on insere un chemin d'une piéce jointe dans une base de données SQL.
J'ai besion d'aide.
Merci d'avance


Cette discussion est classée dans : fichier, mail, texte, type, mime


Répondre à ce message

Sujets en rapport avec ce message

Mail et Client Web ? [ par Varod ] Bonjour,Lors de l'envoie de mail au format HTML, je rencontre des problemes selon les clients web. Certes, il y a le probleme de la lecture des mails Probleme de pièce jointe lors d'un envoi d'un mail [ par Morgul ] J'ai le code suivant trouvé sur un site de php:     $mail="adressemail@hotmail.com";  $mess="contenu du message";  mail_attachement($mail,"sujet",$me mail html avec piece jointe [ par dartaloufe ] Bonjour,j'ai récupérer une source sur le site que j'ai ensuite modifier pour pouvoir envoyer plusieurs pieces jointes,les pieces son bien attaché mais pb avec le type mime [ par kyript ] Bonjour à tousj'ai un formulaire qui permet d'envoyer un fichier mp3je verifie son type mime afin de ne pas avvoir de pb " if($_FILES['data_extr']['ty Comment creer un fichier texte ? [ par robapt ] Bonsoir à tous, je voudrais savoir comment il serais possible de creer un fichier texte à partir de ce formulaire qaund le visiteur clique sur envoyer Probleme type MIME [ par Cisaks ] Bonjour,Je ne comprend pas car lors de l'envoi d'un email j'attache un fichier qui à été prealablement uploader sur mon serveur. Après l'envoi j'ai af Type mime d'un fichier [ par mmaximum ] Salut à tous,J'aimerai savoir comment on fait pour trouver le type mime d'un fichier en php.Y a-t-il une fonction pour?? si oui laquelle.J'aimerai un Formulaire OK sous FF mais pas sous IE [ par fdlps ] Bjr,Ce php est associé a un fichier swf loader, un swf mail 1, un fichiet HTML et un CSS.j'ai un souci avec mon formulaire il fonctionne sous FF mais regler le cache fichier [ par Teddy_le_gnein ] Voilà mon problème...J'ai écrit un petit script dans lequel un fichier texte est créé et jusqu'a la fin du scripte, d'autres données peuvent êtres ajo aider moi svp [ par ahlemlo ] bonjourj'ai pas encore trouver la réponseaider moi je suis bloquévoici j'ai mis ce code pour envoi mail avec piéce jointe j'ai réçu le mail mais la pi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales