【问题标题】:Mail_Mbox() PEAR script - load mbox message from string instead of fileMail_Mbox() PEAR 脚本 - 从字符串而不是文件加载 mbox 消息
【发布时间】: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
        )
    );
?>

【问题讨论】:

    标签: php email pear mbox


    【解决方案1】:

    documentation states:

    void 构造函数 Mail_Mbox::Mail_Mbox (string $file)

    该类接受字符串,只接受文件。

    您可能想尝试像Stream_Var 这样的流包装器,以使变量像文件一样可访问。也许它有效。如果没有,请在 PEAR bugtracker 中打开功能请求。

    【讨论】:

      猜你喜欢
      • 2011-01-11
      • 2012-03-16
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 2011-03-09
      • 2012-10-09
      相关资源
      最近更新 更多