par
Tiger » 21 août 2010, 13:52
Bonjour, depuis hier j'essaie de faire un formulaire qui peut envoyer des pièces jointes par email. Mon formulaire fonctionne très bien, cependant je n'arrive pas à envoyer de pièce jointe. En fait une pièce jointe est envoyé dans le dernier code que j'ai essayé, cependant le fichier n'a seulement le nom de la pièce jointe. Voici mon code :
//ATTACHMENT//////////////////////////////////
$name_file = $_FILES['file']['name'];
$source=$_FILES['file']['tmp_name'];
move_uploaded_file($source, "./".$name_file);
//Notez que le fichier est présent sur le serveur, donc aucun problème
if($name_file!="")
{
$file = $name_file;
$fp = fopen($file, "rb");
$attachment = fread($fp, filesize($file));
fclose($fp);
$attachment = chunk_split(base64_encode($attachment));
}
// La boucle qui envoi mon message, à notez que j'ai enlever certaines variable, puisque les emails sont envoyés correctement
while($i < $nombre){
$boundary = '' . md5( uniqid ( rand() ) );
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$headers = 'From: '.$realname.' <'.$from.'>' . "\r\n" .'Reply-To: '.$replyto.'' . "\r\n";
$headers .= 'Bcc: '.$tableau_des_mail[$i].'' . "\r\n";
$headers .= 'Content-Type: text/html; charset=ISO-8859-1';
$headers .= 'Content-Transfer-Encoding: quoted-printable';
$headers .= 'Content-Disposition: inline';
$headers .= 'Content-Type: image/jpeg; name="'.$name_file.'"'; // J'ai essayer d'autres variables, mais les autres me retournes des caractères illisibles
$headers .= 'Content-Transfer-Encoding: base64';
$headers .= 'Content-Disposition: attachment; filename="'.$name_file.'"';
$msg = "".$message . "\r\n";
mail($none,$subject,$msg,$headers);
$i++;
}
echo "Emails sent successfully";
Merci de pouvoir m'aider
Bonjour, depuis hier j'essaie de faire un formulaire qui peut envoyer des pièces jointes par email. Mon formulaire fonctionne très bien, cependant je n'arrive pas à envoyer de pièce jointe. En fait une pièce jointe est envoyé dans le dernier code que j'ai essayé, cependant le fichier n'a seulement le nom de la pièce jointe. Voici mon code :
[php]
//ATTACHMENT//////////////////////////////////
$name_file = $_FILES['file']['name'];
$source=$_FILES['file']['tmp_name'];
move_uploaded_file($source, "./".$name_file);
//Notez que le fichier est présent sur le serveur, donc aucun problème
if($name_file!="")
{
$file = $name_file;
$fp = fopen($file, "rb");
$attachment = fread($fp, filesize($file));
fclose($fp);
$attachment = chunk_split(base64_encode($attachment));
}
// La boucle qui envoi mon message, à notez que j'ai enlever certaines variable, puisque les emails sont envoyés correctement
while($i < $nombre){
$boundary = '' . md5( uniqid ( rand() ) );
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$headers = 'From: '.$realname.' <'.$from.'>' . "\r\n" .'Reply-To: '.$replyto.'' . "\r\n";
$headers .= 'Bcc: '.$tableau_des_mail[$i].'' . "\r\n";
$headers .= 'Content-Type: text/html; charset=ISO-8859-1';
$headers .= 'Content-Transfer-Encoding: quoted-printable';
$headers .= 'Content-Disposition: inline';
$headers .= 'Content-Type: image/jpeg; name="'.$name_file.'"'; // J'ai essayer d'autres variables, mais les autres me retournes des caractères illisibles
$headers .= 'Content-Transfer-Encoding: base64';
$headers .= 'Content-Disposition: attachment; filename="'.$name_file.'"';
$msg = "".$message . "\r\n";
mail($none,$subject,$msg,$headers);
$i++;
}
echo "Emails sent successfully";
[/php]
Merci de pouvoir m'aider