MIME php邮件只显示text / plain版本

时间:2013-03-03 18:24:21

标签: php email smtp mime boundary

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

邮件在这里:

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      = "mail@mydomain.com";

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

$subject = "My Subject";

$headers = "From: mail@mydomain.com" . "\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);

?>

1 个答案:

答案 0 :(得分:0)

您没有使用“\ n”

来终止边界和内容行

根据mime规范强制