2013-03-03 50 views
0

我尝试发送一个多部分/替代电子邮件,所以我发送一个文本版本和一个HTML版本在一个单一的邮件。我的问题是,邮件只包含这个纯文本:MIME PHP邮件只显示文本/纯文本

邮件是在这里:

Multipart Message coming up 

--b4d67c224c82d8fad38c0bcef1a0bf97Content-Type: text/plain; charset=iso-8859-1Content-Transfer-Encoding: 7bitYou really ought remember the birthdays--b4d67c224c82d8fad38c0bcef1a0bf97Content-Type: text/html; charset=iso-8859-1Content-Transfer-Encoding: 7bit<html> 
     <head> 
      <title>Birthday Reminders for August</title> 
     </head> 
     <body> 
      <p>Here are the birthdays upcoming in August!</p> 
     </body> 
     </html> 
     --b4d67c224c82d8fad38c0bcef1a0bf97-- 

的代码如下所示。

<? 

//this is a path to PHP mailer class you have dowloaded 
$to  = "[email protected]"; 

$boundary = md5(date('U')); 

$subject = "My Subject"; 

$headers = "From: [email protected]" . "\r\n". 
      "X-Mailer: PHP/".phpversion() ."\r\n". 
      "MIME-Version: 1.0" . "\r\n". 
      "Content-Type: multipart/alternative; boundary=$boundary". "\r\n". 
      "Content-Transfer-Encoding: 7bit". "\r\n"; 

$text = "You really ought remember the birthdays";  
$html = '<html> 
    <head> 
     <title>Birthday Reminders for August</title> 
    </head> 
    <body> 
     <p>Here are the birthdays upcoming in August!</p> 
    </body> 
    </html> 
    '; 

$message = "Multipart Message coming up" . "\r\n\r\n". 
     "--".$boundary. 
     "Content-Type: text/plain; charset=iso-8859-1" . 
     "Content-Transfer-Encoding: 7bit". 
     $text. 
     "--".$boundary. 
     "Content-Type: text/html; charset=iso-8859-1". 
     "Content-Transfer-Encoding: 7bit". 
     $html. 
     "--".$boundary."--"; 

mail($to, $subject, $message, $headers); 

?> 

回答

0

您还没有终止边界和内容系为 “\ n”

根据MIME规范强制性