upload de fichier et envoi d'email
Hors ligneFulub Le 30/12/2005 à 13:50 Profil de Fulub Configuration de Fulub

Bonjour,

je voulais soulager Salva aujourd'hui et devenir le

Voila j'essaie d'être clair.

Le client rempli un formulaire et peu envoyer une photo.

Tout va bien pour le formulaire, je récupère bien la photo, mais quand je l'envoie par mail je n'arrive pas à l'ouvrir.

Il me demande un filtre spécifique pour l'ouvrir.
J'ai une petite erreur quelque part et je ne sais pas où

Quelqu'un à une idée?

Philippe:

<?php /* Date de création: 26/11/05 */ include_once("globals.inc.php"); include_once("fonctions.inc.php"); // On commence par récupérer les champs if(isset($_POST['genre']))      $genre=$_POST['genre']; else      $genre=""; if(isset($_POST['nom']))      $nom=$_POST['nom']; else      $nom=""; if(isset($_POST['prenom']))      $prenom=$_POST['prenom']; else      $prenom=""; if(isset($_POST['adresse1']))      $adresse1=$_POST['adresse1']; else      $adresse1=""; if(isset($_POST['adresse2']))      $adresse2=$_POST['adresse2']; else      $adresse2=""; if(isset($_POST['codepostal']))      $codepostal=$_POST['codepostal']; else      $codepostal=""; if(isset($_POST['selectville1']))      $selectville1=$_POST['selectville1']; else      $selectville1=""; if(isset($_POST['telephone']))      $telephone=$_POST['telephone']; else      $telephone=""; if(isset($_POST['email']))      $email=$_POST['email']; else      $email=""; if(isset($_POST['vente_location']))      $vente_location=$_POST['vente_location']; else      $vente_location=""; if(isset($_POST['naturedubien']))      $naturedubien=$_POST['naturedubien']; else      $naturedubien=""; if(isset($_POST['selectville2']))      $selectville2=$_POST['selectville2']; else      $selectville2=""; if(isset($_POST['nombre_de_pieces']))      $nombre_de_pieces=$_POST['nombre_de_pieces']; else      $nombre_de_pieces=""; if(isset($_POST['surface']))      $surface=$_POST['surface']; else      $surface=""; if(isset($_POST['surface2']))      $surface2=$_POST['surface2']; else      $surface2="";   if(isset($_POST['msg']))      $msg=$_POST['msg']; else      $msg=""; if(isset($_FILES['pho1']))          $pho1 =$_FILES['pho1']['tmp_name']; else     $pho1=""; $photo1 = ' ./upload/skeud.jpg'; move_uploaded_file($pho1,$photo1); if(isset($_FILES['pho2']))          $pho1 =$_FILES['pho2']['tmp_name']; else     $pho2=""; $photo2 = ' ./upload/skeud2.jpg'; move_uploaded_file($pho2,$photo2); if(isset($_FILES['pho3']))          $pho1 =$_FILES['pho3']['tmp_name']; else     $pho3="";      //----------------------------------------------- //DECLARE LES VARIABLES //----------------------------------------------- $email_expediteur='property@wanadoo.fr'; $email_reply='property@wanadoo.fr'; $message_texte='Bonjour,'."n\n".'Voici un message au format texte'; $destinataire='property@wanadoo.fr'; $sujet='Envoi d\'email avec pièce jointe'; $message_html='<html> <head> <title>Titre</title> </head> <body> <p>Test de message</p> </body> </html>'; //----------------------------------------------- //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML //----------------------------------------------- $frontiere = '-----=' . md5(uniqid(mt_rand())); //----------------------------------------------- //HEADERS DU MAIL //----------------------------------------------- $headers = 'From: "Philippe GUEGAN" <'.$email_expediteur.'>'."\n"; $headers .= 'Return-Path: <'.$email_reply.'>'."\n"; $headers .= 'MIME-Version: 1.0'."\n"; $headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"'; //----------------------------------------------- //MESSAGE TEXTE //----------------------------------------------- $message = 'This is a multi-part message in MIME format.'."\n\n"; $message .= '--'.$frontiere."\n"; $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n"; $message .= 'Content-Transfer-Encoding: 8bit'."\n\n"; $message .= $message_texte."\n\n"; //----------------------------------------------- //MESSAGE HTML //----------------------------------------------- $message .= '--'.$frontiere."\n"; $message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n"; $message .= 'Content-Transfer-Encoding: 8bit'."\n\n"; $message .= $message_html."\n\n"; //----------------------------------------------- //PIECE JOINTE //----------------------------------------------- $message .= '--'.$frontiere."\n"; $message .= 'Content-Type: image/jpeg; name="./upload/skeud.jpg"'."\n"; $message .= 'Content-Transfer-Encoding: base64'."\n"; $message .= 'Content-Disposition:attachement; filename="./upload/skeud.jpg"'."\n\n"; $message .= chunk_split(base64_encode(file_get_contents('./upload/skeud.jpg')))."\n"; mail($destinataire,$sujet,$message,$headers); ?>
Hors ligneAnthony Le 30/12/2005 à 14:02 Profil de Anthony Configuration de Anthony

Admin
Salut,

$message .= 'Content-Type: image/jpeg; name="./upload/skeud.jpg"'."\n";

=> $message .= 'Content-Type: image/jpeg; name="skeud.jpg"'."\n";

$message .= 'Content-Disposition:attachement; filename="./upload/skeud.jpg"'."\n\n";

=> $message .= 'Content-Disposition:attachement; filename="skeud.jpg"'."\n\n";

sinon si tu envoies une photo qui correspond à la condition "skeud2.jpg" ta photo ne sera pas envoyée :-)

Sinon que te demande le client mail par défaut ?
--

Hors ligneFulub Le 30/12/2005 à 14:22 Profil de Fulub Configuration de Fulub

En fait je reçois bien l'email avec un fichier attaché nommé "skeud.jpg", mais impossible de l'ouvrir et de faire apparaître la photo il ne semble pas être au format jpg?

Pour le reste du script je ne l'ai pas fini je voudrais réussir avant mon envoi de fichier.

En fait je suis agent immobilier en Bretagne.
Je fais tout moi même.
Mon site était statique et je le passe sous php.
C'est mon dernier problème.

C'est pour le client qui veut me donner un bien à vendre.

Il remplit un formulaire et me fait parvenir une ou plusieurs photos de son bien.
Ah j'oubliais , pour le moment je tourne en interne avec easyphp!

Philippe

C'est re-moi.
Divers tests éffectués semblerait prouvé que le problème vienne de l'encodage-désencodage sur apache
ça simplifie pas les choses
Hors ligneAnthony Le 30/12/2005 à 22:37 Profil de Anthony Configuration de Anthony

Admin
J'avais testé ce script et il fonctionnait, je referais un test demain pour voir si ça fonctionne et je verrai quelle solution on peut tenter d'apporter pour résoudre ce problème.

a +
--

Hors ligneFulub Le 31/12/2005 à 07:46 Profil de Fulub Configuration de Fulub

Merci, je vais de mon côté essayé de le tester chez mon hébergeur en réel pour voir si ça fonctionne
A plus tard

Philippe
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels