public function setStream($stream)
    {
        // streams have to be cached to file first
        $meta = @stream_get_meta_data($stream);
        if (!$meta || !$meta['mode'] || !in_array($meta['mode'], self::$readableModes, true) || $meta['eof']) {
            throw new Exception(
                'setStream() expects parameter stream to be readable stream resource.'
            );
        }

        /** @var resource $tmp_fp */
        $tmp_fp = tmpfile();
        if ($tmp_fp) {
            while (!feof($stream)) {
                fwrite($tmp_fp, fread($stream, 2028));
            }

            if (fread($tmp_fp, 1) != "\n") {
                fwrite($tmp_fp, PHP_EOL);
            }

            fseek($tmp_fp, 0);
            $this->stream = &$tmp_fp;
        } else {
            throw new Exception(
                'Could not create temporary files for attachments. Your tmp directory may be unwritable by PHP.'
            );
        }
        fclose($stream);

        $this->resource = mailparse_msg_create();
        // parses the message incrementally (low memory usage but slower)
        while (!feof($this->stream)) {
            mailparse_msg_parse($this->resource, fread($this->stream, 2082));
        }
        $this->parse();

        return $this;
    }
public function setStream($stream)
    {
        // streams have to be cached to file first
        $meta = @stream_get_meta_data($stream);
        if (!$meta || !$meta['mode'] || !in_array($meta['mode'], self::$readableModes, true) || $meta['eof']) {
            throw new Exception(
                'setStream() expects parameter stream to be readable stream resource.'
            );
        }

        /** @var resource $tmp_fp */
        $tmp_fp = tmpfile();
        if ($tmp_fp) {
            while (!feof($stream)) {
                fwrite($tmp_fp, fread($stream, 2028));
            }

            if (fread($tmp_fp, 1) != "\n") {
                fwrite($tmp_fp, PHP_EOL);
            }

            fseek($tmp_fp, 0);
            $this->stream = &$tmp_fp;
        } else {
            throw new Exception(
                'Could not create temporary files for attachments. Your tmp directory may be unwritable by PHP.'
            );
        }
        fclose($stream);

        $this->resource = mailparse_msg_create();
        // parses the message incrementally (low memory usage but slower)
        while (!feof($this->stream)) {
            mailparse_msg_parse($this->resource, fread($this->stream, 2082));
        }
        $this->parse();

        return $this;
    }
public function setStream ( $ stream ) { // streams have to be cached to file first $ meta = @ stream_get_meta_data ( $ stream ) ; if ( ! $ meta || ! $ meta [ 'mode' ] || ! in_array ( $ meta [ 'mode' ] , self :: $ readableModes , true ) || $ meta [ 'eof' ] ) { throw new Exception ( 'setStream() expects parameter stream to be readable stream resource.' ) ; } /** @var resource $tmp_fp */ $ tmp_fp = tmpfile ( ) ; if ( $ tmp_fp ) { while ( ! feof ( $ stream ) ) { fwrite ( $ tmp_fp , fread ( $ stream , 2028 ) ) ; } if ( fread ( $ tmp_fp , 1 ) != "\n" ) { fwrite ( $ tmp_fp , PHP_EOL ) ; } fseek ( $ tmp_fp , 0 ) ; $ this -> stream = & $ tmp_fp ; } else { throw new Exception ( 'Could not create temporary files for attachments. Your tmp directory may be unwritable by PHP.' ) ; } fclose ( $ stream ) ; $ this -> resource = mailparse_msg_create ( ) ; // parses the message incrementally (low memory usage but slower) while ( ! feof ( $ this -> stream ) ) { mailparse_msg_parse ( $ this -> resource , fread ( $ this -> stream , 2082 ) ) ; } $ this -> parse ( ) ; return $ this ; }
Set the Stream resource we use to get the email text

@param resource $stream

@return Parser MimeMailParser Instance
@throws Exception
Set the Stream resource we use to get the email text