Sending email with multiple attachments with PHP

Fermé
mirhano Messages postés 12 Date d'inscription samedi 9 juin 2012 Statut Membre Dernière intervention 16 octobre 2015 - Modifié par mirhano le 21/05/2014 à 17:33
mirhano Messages postés 12 Date d'inscription samedi 9 juin 2012 Statut Membre Dernière intervention 16 octobre 2015 - 23 mai 2014 à 09:33
Bonjour ,
svp, je me blocke sur un bout de code , j'ai développer en php un programme pour envoyer deux fichiers (ZIp&PDF) , si j"envois le message avec ces deux fichiers vers GMAIL , y'a aucun probléme , mais si je tente d'envoyer le même message vers OUTLOOK le Premier fichier attaché est toujours endomagé alors que le deuxiéme y'a pas de probléme s SVP de l'aiiiiiiiide !!! je sais pas Koi faire , le Probléme réste juste si j'envoie Vers OUTLOOK , toujours j'ai celui qui est attaché au premier il est bien reçu mais endomagé
___________Voici le Code il m'arche Top _________________

<?php
// Setting a timezone, mail() uses this.
date_default_timezone_set('America/New_York');
// recipients
$to = ' exemple@gmail.com' ;

// subject
$subject = "Collection x";

// Create a boundary string. It needs to be unique
$sep = sha1(date('r', time()));
$headers = "From: exemple@gmail.com\r\n";
// Add in our content boundary,
// and mime type specification:
$headers .="\r\nContent-Type: multipart/alternative; boundary=\"PHP-mixed-{$sep}\" ";

// Read in our file attachment

$attachment = file_get_contents('fichiers/'.$name.'.zip' );
$encoded = base64_encode($attachment);
$attached = chunk_split($encoded);


$attachment2 = file_get_contents('MesPV/PV_A_'.$namee.'.pdf' );
$encoded = base64_encode($attachment2);
$attached2 = chunk_split($encoded);

// additional headers
//$headers .= "To: exemple@gmail.com\r\n";


// Your message here:

$body = "

--PHP-mixed-{$sep}
Content-Type: multipart/alternative; boundary=\"PHP-alt-{$sep}\"

--PHP-alt-{$sep}
Content-Type: text/html; charset=\"iso-8859-1\"
Content-Transfer-Encoding: 7bit

<h3>Bien le bonjour!</h3>
<p>Vous trouverez c-joint toute la collection et PV. Cordialement.</p>

--PHP-alt-{$sep}--


--PHP-mixed-{$sep}
Content-Type: application/pdf; name=\"PV_A_".$namee.".pdf\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment2

{$attached2}


--PHP-mixed-{$sep}
Content-Type: application/zip; name=\"".$name.".zip\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment

{$attached}


--PHP-mixed-{$sep}-- ";

// Finally, send the email
if (mail($to, $subject, $body, $headers)){
echo "The mail has been sent.";
} else {
echo "The mail has NOT been sent!";
}



?>
A voir également:

2 réponses

-helper- Messages postés 89 Date d'inscription mercredi 21 mai 2014 Statut Membre Dernière intervention 15 juin 2014 27
22 mai 2014 à 22:19
Salut !

T'embête pas...
Ne cherche pas réinventer la roue, d'autres l'on fait avant toi !

La solution à tous tes soucis se nomme PHPMailer
http://phpmailer.worxware.com/

C'est une librairie pour envoyer des mails, elle gère sans problemes les pièces jointes multiples...

Enjoy it !
1
mirhano Messages postés 12 Date d'inscription samedi 9 juin 2012 Statut Membre Dernière intervention 16 octobre 2015
23 mai 2014 à 09:33
Merciiiiiiiiiiiiiiii , mon problème est résolu maintenant avec PHPMailer :) :)
0