【发布时间】:2011-09-09 18:54:02
【问题描述】:
如果我尝试从文件加载,效果很好,但我正在处理以前存储在 MySQL 表中的 mbox 格式消息。我已将消息加载到 $variable 中,无论出于何种原因它都不想接受它。有什么想法吗?
示例代码:
<?php
// Reads a mbox file
#$mbox = new Mail_Mbox('test.mbox'); // Works
$mbox = new Mail_Mbox($data); // Doesn't work (what the heck?!)
$mbox->open();
$message = $mbox->get(0);
$decodedMessage = new Mail_mimeDecode($message, "\r\n");
$structuredMessage = $decodedMessage->decode(
array(
'include_bodies' => true,
'decode_bodies' => true
)
);
?>
除了从字符串而不是文件将消息加载到此脚本之外,一切正常。完全迷失了这一点。
供参考: http://pear.php.net/package/Mail_Mbox
有效的解决方案示例:
<?php
// Setup a Stream_Var() to let us use a $variable like a file...so that Mail_Mbox() works
stream_wrapper_register( "var", "Stream_Var" );
// Reads a mbox file
$mbox = new Mail_Mbox('var://GLOBALS/this-is-my-variable'); // Leave the $ off
$mbox->open();
$message = $mbox->get(0);
$decodedMessage = new Mail_mimeDecode($message, "\r\n");
$structuredMessage = $decodedMessage->decode(
array(
'include_bodies' => true,
'decode_bodies' => true
)
);
?>
【问题讨论】: