Email Pièce jointe PDF marche mais certains le recoivent crypté

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Email Pièce jointe PDF marche mais certains le recoivent crypté

Re: Email Pièce jointe PDF marche mais certains le recoivent crypté

par @rthur » 21 déc. 2015, 11:19

Dans tous les cas ton code pour envoyer un mail est curieux...
Distinguer Wanadoo de Gmail à l'expédition, c'est absolument anormal, je ne sais pas d'où tu sors cette partie de code mais ça ne devrait pas exister.

La façon la plus simple pour envoyer un mail avec pièce jointe en limitant les soucis d'encodage, de type de fichier, etc... c'est de passer par une librairie type phpmailer qui saura gérer cela correctement.

Re: Email Pièce jointe PDF marche mais certains le recoivent crypté

par Eliaos » 21 déc. 2015, 10:54

Je vais leur demandé et je vous réponds dès que j'aurais plus de précision

Re: Email Pièce jointe PDF marche mais certains le recoivent crypté

par Ascla » 19 déc. 2015, 12:30

Bonjour,
Je pense que le problème vient de l'encodage. Pourrais-tu nous donner plus d'informations sur ces utilisateurs qui ont le problème ?
Par quel service d'émail passent-ils ?

Email Pièce jointe PDF marche mais certains le recoivent crypté

par Eliaos » 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 !
<?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 &acirc 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 &acirc la page d'accueil</a>";
	} 
	
	}
	?>