1

我正在使用 Zend Mail 从我的 POP3 服务器获取电子邮件列表,并将其显示在网页上。这是我的代码:

<?

require("Zend/Mail/Storage/Pop3.php");

$mail = new Zend_Mail_Storage_Pop3(array('host'     => 'localhost',
                                         'user'     => 'person',
                                         'password' => 'awesome'));

// show the mail!

echo "You have " . $mail->countMessages() . " messages! <br><br>";

foreach ($mail as $message) {
  echo "From: '{$message->from}'<br> Subject: {$message->subject}<br>";
  echo "Content: " . $message->getContent() . "<br><br>";
}

?>

问题是一些电子邮件显示如下:

    From: 'Trey '
Subject: WOMBATS WOMBATS
Content: --Apple-Mail-1--609821059 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii SWIMMING IN THE OCEAN CAUSIN' A COMOTION CUZ THEY SUCK --Apple-Mail-1--609821059 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii SWIMMING IN THE OCEAN 
CAUSIN' A COMOTION 
CUZ THEY 
SUCK
--Apple-Mail-1--609821059-- 

这使得阅读消息的实际正文内容变得困难。我希望它像这样显示:

From: 'Stan Flusterflap '
Subject: hi
Content: hi 

我该怎么做呢?谢谢你。

4

1 回答 1

3

getContent方法获取整个消息体。您在那里看到的是整个主体,由两个 MIME 部分及其分隔符组成。

手册中有一个示例——搜索“multipart part”——说明如何直接使用MIME 部分

于 2011-04-04T05:17:00.373 回答