Probleme avec la fonction mail() en php

Fermé
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 - 2 mars 2012 à 14:05
tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 - 2 mars 2012 à 23:02
Bonjour,

Je souhaite envoyer un mail à un client lorsque celui ci a rempli un formulaire. Cependant, lors de mes tests j'ai remarqué que ça ne marche pas pour la boite gmail. Le pièce jointe est un "mime attachment" qui ne s'ouvre pas. Donc j'aimerai savoir d'où vient le problème?

Voici le php

<?php
// To
$to = $email;

// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));

// Subject
$subject = "..........................................";

// Headers
$headers = 'From: ......... <............@gmail.com>'."\r\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";

// Message
$msg = 'Texte affiché par des clients mail ne supportant pas le type MIME.'."\r\n\r\n";

// Message HTML
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type: text/html; charset=utf-8'."\r\n\r\n";

$msg .= '<p>.................</p>
			<p>........................................................................................................................ ................................................
			  ......................................................................................................................... ...................................</p>
			   <br />
			   <br />
			   <p>.................................</p>
			   <p>.........</p>'."\r\n";

// Pièce jointe 1
$file_name = $fichierjoint;
if (file_exists($file_name))
{
	$file_type = filetype($file_name);
	$file_size = filesize($file_name);

	$handle = fopen($file_name, 'r') or die('Le fichier '.$file_name.'ne peut pas être ouvert');
	$content = fread($handle, $file_size);
	$content = chunk_split(base64_encode($content));
	$f = fclose($handle);

	$msg .= '--'.$boundary."\r\n";
	$msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
	$msg .= 'Content-transfer-encoding:base64'."\r\n\r\n";
	$msg .= $content."\r\n";
}

// Fin
$msg .= '--'.$boundary."\r\n";

// Function mail()
//mail($to, $subject, $msg, $headers);

// On envoi l'email
if (mail($to, $subject, $msg, $headers))
	$retourmailclient = true;
else
	$retourmailclient = false;
?>
 




Merci de votre aide.


A voir également:

1 réponse

tipi75 Messages postés 680 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 16 avril 2015 27
2 mars 2012 à 23:02
Quelqu'un pourrait m'aider?
0