2013-03-29 1 views
1

J'envoie une pièce jointe avec email avec PHP. Ça va bien. mais je veux envoyer quelques détails des utilisateurs. Le détail imprime en HTML au lieu du message.pourquoi mon email d'impression HTML

$my_file = 'attach.txt'; 
$my_path = "path/".$file_name; 
$my_name = "[email protected] "; 
$my_mail = "[email protected]"; 
$my_replyto = "[email protected]"; 
$my_subject = "test E-Mail"; 
$my_message = htmlspecialchars_decode("<html><body><center><table width='400px' height='400px'><th>career</th><tr><td>Name</td><td>My name</td></tr><tr><td>Email</td><td>My Email</td></tr><tr><td>Post</td><td>My Post</td></tr><tr><td>Address</td><td>My Address</td></tr></table> </center><br><br></body></html>"); 

$mailto = "[email protected]"; 
$content = chunk_split(base64_encode(file_get_contents($my_path))); 
$uid = md5(uniqid(time())); 
$name = basename($my_path); 
$header = "From: ".$my_mail."\r\n"; 
$header .= "Reply-To: ".$my_replyto."\r\n"; 
$header .= "MIME-Version: 1.0\r\n"; 
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n"; 
$header .= "This is a multi-part message in MIME format.\r\n"; 
$header .= "--".$uid."\r\n"; 
$header .= "Content-type:text/plain; charset=iso-8859-1\r\n"; 
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; 
$header .= $my_message."\r\n\r\n"; 
$header .= "--".$uid."\r\n"; 
$header .= "Content-Type: application/octet-stream; name=\"".$my_file."\"\r\n"; 
// use different content types here 
$header .= "Content-Transfer-Encoding: base64\r\n"; 
$header .= "Content-Disposition: attachment; filename=\"".$my_file."\"\r\n\r\n"; 
$header .= $content."\r\n\r\n"; 
$header .= "--".$uid."--"; 

if (mail($mailto, $my_subject, '', $header)) { 
echo "email send"; 
exit; 
} else { 
echo "Error during mail send.!"; 
exit; 
} 
+0

Pourquoi avez-vous mis tout dans l'en-tête, et avoir un corps vide? – Barmar

+0

toute suggestion s'il vous plaît si vous avez Monsieur .. Pouvez-vous s'il vous plaît affiner mon code que vous dites monsieur .. –

+1

Tout mettre à Content-Type: multipart/mixed dans l'en-tête, et tout cela dans le corps. Ceci est sans rapport avec la question que vous avez posée, qui a été répondu par nauphal. – Barmar

Répondre

2

changement

$header .= "Content-type:text/plain; charset=iso-8859-1\r\n"; 

avec

$header .= "Content-type:text/html; charset=iso-8859-1\r\n"; 
+0

thankx résolu .. –