begin process at 2012 05 31 05:55:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

PHP Pb attachement piece jointe a un mail


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

PHP Pb attachement piece jointe a un mail

mardi 6 juillet 2010 à 09:37:17 | PHP Pb attachement piece jointe a un mail

thais781

Bonjour,

J'ai un formulaire avec entrée d'un fichier joint (codé en html) ... jusque la pas de pb.
J'envoie les réponses de ce formulaire avec fichier joint via mail() (en PHP)
Je reçois bien le mail avec toute les infos sauf que le fichier chargé n'est pas joint au mail (en pièce jointe) mais est présent dans le corps du texte donc illisible ....

Si quelqu'un a une idée

Merci d'avance

Résultat :
Nom : MonNom
Prénom : MonPrenom
Téléphone : 0120304050
Email: toto@gmail.com
Métier : Process

Commentaires : Salut

-------=a98c8098702d571f889cace7f8e4d600
Content-Type: image/png; name="Test.doc"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="Test.doc"

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAIgAAAAAAAAAA
EAAAJAAAAAEAAAD+////AAAAACEAAAD/////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////s
pcEAcWAJBAAA8BK/AAAAAAAAEAAAAAAABgAABQgAAA4AYmpianFQcVAAAAAAAAAAAAAAAAAAAAAA
AAAMBBYALhAAABM6AQATOgEABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAA
AAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAAKQAAAAAAKgDAAAAAAAAqAMAAKgD
AAAAAAAAqAMAAAAAAACoAwAAAAAAAKgDAAAAAAAAqAMAABQAAAAAAAAAAAAAALwDAAAAAAAA4AMA
AAAAAADgAwAAAAAAAOADAAAAAAAA4AMAAAwAAADsAwAADAAAALwDAAAAAAAALQYAALYAAAAEBAAA
AAAAAAQEAAAAAAAABAQAAAAAAAAEBAAAAAAAAAQEAAAAAAAABAQAAAAAAAAEBAAAAAAAAAQEAAAA
AAAArAUAAAIAAACuBQAAAAAAAK4FAAAAAAAArgUAAAAAAACuBQAAAAAAAK4FAAAAAAAArgUAACQA
AADjBgAAaAIAAEsJAAB+AAAA0gUAABUAAAAAAAAAAAAAAAAAAAAAAAAAqAMAAAAAAAAEBAAAAAAA



Ci-dessous mon code PHP :
<?
ini_set('display_errors', 1);
error_reporting(-1);

$Nom = $_POST['Candidature_Nom'];
$Prenom = $_POST['Candidature_Prenom'];
$Telephone = $_POST['Candidature_Telephone'];
$Email = $_POST['Candidature_Email'];
$Metier = $_POST['Candidature_Metier'];
$Commentaires = $_POST['Candidature_Commentaires'];
$to = "drh@aiuta.fr";

$name_file = $_FILES['Candidature_CV']['name'];

$source=$_FILES['Candidature_CV']['tmp_name'];

move_uploaded_file($source, "./".$name_file);

$extension=get_extension($name_file);

$type="text/plain";

if($type=="doc")
{
$type="text/vnd.ms-word";
}
else if($type=="xls")
{
$type="text/vnd.ms-excel";
}

$type2="image/png";

if($extension=="gif")
{
$type2="image/gif";
}
else if($extension=="bmp")
{
$type2="image/bmp";
}

function get_extension($filename)
{
$parts = explode('.',$filename);
$last = count($parts) - 1;
$ext = $parts[$last];
return $ext;
}

//----------------------------------
// Construction de l'entête
//----------------------------------

$boundary = "-----=".md5(uniqid(rand()));
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";

$msg = "Nom :\t$Candidature_Nom\n";
$msg .= "Prénom :\t$Candidature_Prenom\n";
$msg .= "Téléphone :\t$Candidature_Telephone\n";
$msg .= "Email:\t$Candidature_Email\n";
$msg .= "Métier :\t$Candidature_Metier\n\n";
$msg .= "Commentaires :\t$Candidature_Commentaires\n\n";

$subject = "Renseignements";

if($name_file!="")
{
$file = $name_file;
$fp = fopen($file, "rb");
$attachment = fread($fp, filesize($file));
fclose($fp);
$attachment = chunk_split(base64_encode($attachment));
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: $type2; name=\"$file\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
$msg .= "\r\n";
$msg .= $attachment . "\r\n";
$msg .= "\r\n\r\n";
$msg .= "--$boundary--\r\n";

$destinataire = $to;
$expediteur = $_POST['Candidature_Email'];
$reponse = $expediteur;

mail($destinataire, $subject, $msg,"From: $Candidature_Email");
echo "Mail envoyé à $destinataire";
}

if($name_file!="")
{
unlink($name_file);
}
?>
mardi 6 juillet 2010 à 12:01:34 | Re : PHP Pb attachement piece jointe a un mail

xactise

Membre Club
Utiliser la classe PHPMailer tu aura beaucoup plus de facilié

Bon courage

Cordialement,


L0rD...
mardi 6 juillet 2010 à 12:11:08 | Re : PHP Pb attachement piece jointe a un mail

thais781

Merci, mais mon hébergeur m'indique qu'il faut utiliser la fonction mail() ... et non PHPmailer.

Il doit y avoir un bug tout con dans mon code ... mais la je ne vois pas ...

Helppppppppppppp


Thais
mardi 6 juillet 2010 à 12:29:32 | Re : PHP Pb attachement piece jointe a un mail

xactise

Membre Club
Si ton hébergeur la dit alors.... :)

fait un phpinfo();

si ta version de php est > à 5

PHPMailer est fait pour toi je confirme... peux importe ce que peut bien te dire ton hébergeur, je serait curieux de voir sa d'ailleur :)


L0rD...
mardi 6 juillet 2010 à 13:19:31 | Re : PHP Pb attachement piece jointe a un mail

Tonio_35

En effet pour que tu comprenne, PHPMailer se sert de la fonction mail() mais te facilite le travail.

Par exemple pour mettre une pièce jointe tu auras juste à faire :
Code PHP :
<?php
$mail->AddAttachment('chemin_fichier/fichier.doc');
?>

Facile non ?

PHPMailer !!!


_________________________________
Min iPomme
mardi 6 juillet 2010 à 17:50:11 | Re : PHP Pb attachement piece jointe a un mail

thais781

Bonjour,

Merci pour votre aide.
J'ai fait un phpinfo, je suis en version PHP Version 4.4.9 (pour info, mon hebergeur est 1&1.com)

J'ai regardé phpmailer, effectivement, ca a l'air sympa, par contre, il faut l'installer sr le serveur :

L'installation de PHP Mailer est assez simple. Il faut dézipper le fichier dans le répertoire racine de votre serveur Web référencé par la variable DocumentRoot dans le fichier de configuration d'Apache (httpd.conf)

Par contra, la je ne sait pas comment faire, et je ne sais pas paramétrer le serveur de 1&1 ...

Peut être avez-vous des idées comment tester mon code dans mon premier message pour savoir pourquoi ca ne marche pas ???

Merci d'avance pour votre aide.

Thais
mardi 6 juillet 2010 à 17:55:35 | Re : PHP Pb attachement piece jointe a un mail

thais781

Pour info, je rajoute le résultat du phpinfo sur le pb du fichier :

Variable
_FILES["Candidature_CV"]

Value
Array
(
[name] => Test.doc
[type] => application/msword
[tmp_name] => /tmp/phppcVYhu
[error] => 0
[size] => 19968
)
mardi 6 juillet 2010 à 17:56:45 | Re : PHP Pb attachement piece jointe a un mail

xactise

Membre Club
Quand il parle de serveur WEB il veulent dire FTP

Tu fait exactement pareil que quand tu dépose tes fichier HTML / PHP sur ton FTP

par contre fait bien attention a prendre la verison PHP4 de PHPMailer


L0rD...
mardi 6 juillet 2010 à 19:02:58 | Re : PHP Pb attachement piece jointe a un mail

Tonio_35

Re,

Je suis chez 1and1 aussi. Il faut que tu active php5 comme suit :
tu créé un fichier texte sur ton site à la racine que tu nomme .htaccess (Un point au début, pas d'extension à la fin).
Dedans tu met :
Code :
AddType x-mapp-php5 .php

Action approuvée par 1and1.

Ensuite tu met les fichiers de PHPMailer sur ton FTP, tu suis le tuto et ce seras bon !


_________________________________
Min iPomme
mardi 6 juillet 2010 à 19:04:53 | Re : PHP Pb attachement piece jointe a un mail

thais781

Bonjour,

J'ai regardé phpmailer, mais c'est peu trop compliqué pour moi ... je vais resté sur mon code d'avant.

En fait, j'ai fait quelques tests, il semblerait que mon bugs soit dans la partie de code suivante.
J'ai l'impression que mon code ouvre le fichier, le read et attache le contenu au corps du text ...
Sauf que je voudrais qu'il fasse juste l'attacher au mail ...

Code :
if($name_file!="")
{
$file = $name_file;
$fp = fopen($file, "rb");
$attachment = fread($fp, filesize($file));
fclose($fp);
$attachment = chunk_split(base64_encode($attachment));
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: $type2; name=\"$file\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
$msg .= "\r\n";
$msg .= $attachment . "\r\n";
$msg .= "\r\n\r\n";
$msg .= "--$boundary--\r\n";

1 2

Cette discussion est classée dans : fichier, mail, pb, jointe, php


Répondre à ce message

Sujets en rapport avec ce message

Pb envoi de mail en PHP [ par syl2 ] Bonjour à tous,j'essaye de réaliser un petit script pour envoyer un mail à partir d'une page php. Voici le source de mon fichier php$destinataire = "x piece jointe avec mail() [ par leauhic ] Bonjour, je voudrais envoyer un mail avec une piece jointe en php. J'ai trouvé comment faire mais j'ai un petit probleme. Cette piece jointe est le pl pb de mail avec X400 (php) [ par guicore ] SalutJe dois envoyer un mail à une personne qui ne possède pas d'adresse smtp (type perssonne@personne.fr) mais qui a une adresse X400 (c=..;..) comme aidez moi pb avec email !! [ par anisbs ] Salut je suis débutant en phpje commence a essayer quelques trucs mais la fonction mail ne fonctionne pas Il me sort un truc comme :Warning: mail(): mail et piece jointe apres validation formulaire [ par Malabarix ] Salut,Voila j'ai un formulaire sur mon site dans le quel je fais entrez différente informations dont un .apres selectionné l'mege de son vehicule, j'e Upload fichier php [ par alanbraxe31 ] Bonjour à tous!voila j'ai un gros soucis avec la fonction mail en php.je souhaites joindre un fichier à mon mail. A la réception du mail, les fichiers Envois de mail avec fichier joint [ par Titigre ] Coucou,Voilà je suis en train de faire une appli en php et à un moment je dois envoyer un mail avec un fichier joint (normalement le fichier joint ser Envois de mail avec piece jointe [ par Titigre ] Voila j'ai récupéré sur le net plusieurs sources pour envoyer un mail avec un fichier joint mais voilà avec moi ca ne fonctionne pas, je reçoit un fic Probleme avec piece jointe de mail [ par floben21 ] Bonjour,voilà mon probleme:j'envoi un mail à partir de mon site php et je joins un fichier csv à celui-ci.le fichier expedié contient des caractères b Afficher l'extansionde la pièce jointe , au lieu d'un fichier .tmp [ par azerto00 ] bonjours, j'ai adopté un code .php quipermet d'ajouter une pièce jointe par mail , mais le problème est que le fichier recu porte l'extension .php et


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 0,655 sec (4)

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