Email Pièce jointe PDF marche mais certains le recoivent crypté
Posté : 18 déc. 2015, 17:08
Bonjour à tous,
Comme dit dans le sujet j'ai un code d'envoi de mail via php avec l'ajout d'un pdf en pièce jointe.
Tout marche parfaitement mais pour une raison inconnu certains ne reçoivent pas la pièce jointe mais un long texte crypté du style : "pz^:^p^;;^&'éà";;("^m'";&:^é....."
je vous mets mon code en dessous si vous voyait des erreurs peut être ces personnes utilisent internet explorer ou mac je ne sais pas
Merci d'avance à tous !
Comme dit dans le sujet j'ai un code d'envoi de mail via php avec l'ajout d'un pdf en pièce jointe.
Tout marche parfaitement mais pour une raison inconnu certains ne reçoivent pas la pièce jointe mais un long texte crypté du style : "pz^:^p^;;^&'éà";;("^m'";&:^é....."
je vous mets mon code en dessous si vous voyait des erreurs peut être ces personnes utilisent internet explorer ou mac je ne sais pas
Merci d'avance à tous !
<?php
$to = $email;
$from_mail = "***"; //Expediteur
$from_name = "***"; //Votre nom, ou nom du site
$reply_to = "***"; //Adresse de réponse
// Subject
$subject = 'Test';
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
// Headers
$headers = 'From: ***'."\r\n";
$headers .= "Reply-to: ***\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
// Message
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";
// Texte
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
$msg .= 'Content-transfer-encoding:8bit'."\r\n";
$msg .= 'Cordialement'."\r\n";
$file_name = $idnomdevis.".pdf";
$path = $_SERVER['DOCUMENT_ROOT']."\pdf\\";
$typepiecejointe = filetype($path.$file_name);
$content = chunk_split(base64_encode(file_get_contents($path.$file_name)) );
$chaine = $email;
//\b, dans le masque, indique une limite de mot, de façon à ce que le mot
//"web" uniquement soit repéré, et pas seulement des parties de mots comme
// dans "webbing" ou "cobweb"
if (preg_match("/gmail/i", $chaine)) {
//code pour gmail et autre
$msg .= "\r\n";
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:'.$typepiecejointe.';name='.$file_name."\r\n";
$msg .= 'Content-transfer-encoding:base64'."\r\n";
$msg .= $content."\r\n";
// Fin
$msg .= '--'.$boundary."\r\n";
} else {
//code pour wanadoo
$msg .= "\r\n";
$msg .= "--$boundary \r\n";
$msg .= "Content-Type: $typepiecejointe; name=\"$file_name\" \r\n";
$msg .= "Content-Transfer-Encoding: base64 \r\n";
$msg .= "\r\n";
$msg .= $content."\r\n";
$msg .= "\r\n";
$msg .= "--".$boundary."--";
}
//Envoi du mail
if(mail($to, $subject, $msg, $headers)){
?>
<a href='Accueil.php'>retour â la page d'accueil</a><br/><br/>
<a href="pdf/<?php echo $idnomdevis;?>.pdf" target="_blank"><h4>Cliquez ici pour avoir directement votre devis au format PDF</h4></a><br/><br/>
<?php
}else {
echo "Une erreur s'est produite, contactez nous <br/><a href='Accueil.php'>retour â la page d'accueil</a>";
}
}
?>