4

PHP の Mailparse pecl 拡張機能の使用方法に関するガイダンスを探しています。PHP Web サイトのドキュメントはあまり役に立ちません。

誰かがこれを経験していて、いくつかの指針を共有したいと思っていますか?

4

2 に答える 2

3

PECLmailparseパッケージメンテナに連絡することができます。

于 2008-12-18T15:42:37.070 に答える
3

拡張機能に付属する README ファイルには、次の OO の例を含む補足ドキュメントがあり、参考になりました。

<?php
$file = "/path/to/rfc822/compliant/message";
// parse the message in $file.
// The file MUST remain in existence until you are finished using
// the object, as mailparse does not cache the file in memory.
// You can also use two alternative syntaxes:
// 
// Read the message from a variable:
//   $msg =& new MimeMessage("var", $message);
//
// Read the message from a stream (from fopen).
// The stream MUST be seekable, or things will not work correctly.
// Also, you MUST NOT fclose the stream until you have finished
// using the message object (or any child objects it returns).
//   $msg =& new MimeMessage("stream", $fp);
//
$msg =& new MimeMessage("file", $file);

// Process the message.
display_part_info("message", $msg);

// Little function to display things
function display_part_info($caption, &$msgpart)
{
echo "Message part: $caption\n";

// The data member corresponds to the information
// available from the mailparse_msg_get_part_data function.
// You can access a particular header like this:
//   $subject = $msgpart->data["headers"]["subject"];
var_dump($msgpart->data);

echo "The headers are:\n";
// Display the headers (in raw format) to the browser output.
// You can also use:
//   $msgpart->extract_headers(MAILPARSE_EXTRACT_STREAM, $fp);
//     to write the headers to the supplied stream at it's current
//     position.
//
//   $var = $msgpart->extract_headers(MAILPARSE_EXTRACT_RETURN);
//     to return the headers in a variable.
$msgpart->extract_headers(MAILPARSE_EXTRACT_OUTPUT);

// Display the body if this part is intended to be displayed:
$n = $msgpart->get_child_count();

if ($n == 0) {
    // Return the body as a string (the MAILPARSE_EXTRACT parameter
    // acts just as it does in extract_headers method.
    $body = $msgpart->extract_body(MAILPARSE_EXTRACT_RETURN);
    echo htmlentities($body);

    // This function tells you about any uuencoded attachments
    // that are present in this part.
    $uue = $msgpart->enum_uue();
    if ($uue !== false) {
        var_dump($uue);
        foreach($uue as $index => $data) {
            // $data => array("filename" => "original filename",
            //                "filesize" => "size of extracted file",
            //               );

            printf("UUE[%d] %s (%d bytes)\n",
                $index, $data["filename"],
                $data["filesize"]);

            // Display the extracted part to the output.
            $msgpart->extract_uue($index, MAILPARSE_EXTRACT_OUTPUT);

        }
    }

} else {
    // Recurse and show children of that part
    for ($i = 0; $i < $n; $i++) {
        $part =& $msgpart->get_child($i);
        display_part_info("$caption child $i", $part);
    }
}
}

?>
于 2011-05-11T01:25:18.090 に答える