function encode($boundary=null)
    {
        $encoded =& $this->_encoded;

        if (count($this->_subparts)) {
            $boundary = $boundary ? $boundary : '=_' . md5(rand() . microtime());
            $eol = $this->_eol;

            $this->_headers['Content-Type'] .= ";$eol boundary=\"$boundary\"";

            $encoded['body'] = ''; 

            for ($i = 0; $i < count($this->_subparts); $i++) {
                $encoded['body'] .= '--' . $boundary . $eol;
                $tmp = $this->_subparts[$i]->encode();
                if ($this->_isError($tmp)) {
                    return $tmp;
                }
                foreach ($tmp['headers'] as $key => $value) {
                    $encoded['body'] .= $key . ': ' . $value . $eol;
                }
                $encoded['body'] .= $eol . $tmp['body'] . $eol;
            }

            $encoded['body'] .= '--' . $boundary . '--' . $eol;

        } else if ($this->_body) {
            $encoded['body'] = $this->_getEncodedData($this->_body, $this->_encoding);
        } else if ($this->_body_file) {
            // Temporarily reset magic_quotes_runtime for file reads and writes
            if ($magic_quote_setting = get_magic_quotes_runtime()) {
                @ini_set('magic_quotes_runtime', 0);
            }
            $body = $this->_getEncodedDataFromFile($this->_body_file, $this->_encoding);
            if ($magic_quote_setting) {
                @ini_set('magic_quotes_runtime', $magic_quote_setting);
            }

            if ($this->_isError($body)) {
                return $body;
            }
            $encoded['body'] = $body;
        } else {
            $encoded['body'] = '';
        }

        // Add headers to $encoded
        $encoded['headers'] =& $this->_headers;

        return $encoded;
    }
function encode($boundary=null)
    {
        $encoded =& $this->_encoded;

        if (count($this->_subparts)) {
            $boundary = $boundary ? $boundary : '=_' . md5(rand() . microtime());
            $eol = $this->_eol;

            $this->_headers['Content-Type'] .= ";$eol boundary=\"$boundary\"";

            $encoded['body'] = ''; 

            for ($i = 0; $i < count($this->_subparts); $i++) {
                $encoded['body'] .= '--' . $boundary . $eol;
                $tmp = $this->_subparts[$i]->encode();
                if ($this->_isError($tmp)) {
                    return $tmp;
                }
                foreach ($tmp['headers'] as $key => $value) {
                    $encoded['body'] .= $key . ': ' . $value . $eol;
                }
                $encoded['body'] .= $eol . $tmp['body'] . $eol;
            }

            $encoded['body'] .= '--' . $boundary . '--' . $eol;

        } else if ($this->_body) {
            $encoded['body'] = $this->_getEncodedData($this->_body, $this->_encoding);
        } else if ($this->_body_file) {
            // Temporarily reset magic_quotes_runtime for file reads and writes
            if ($magic_quote_setting = get_magic_quotes_runtime()) {
                @ini_set('magic_quotes_runtime', 0);
            }
            $body = $this->_getEncodedDataFromFile($this->_body_file, $this->_encoding);
            if ($magic_quote_setting) {
                @ini_set('magic_quotes_runtime', $magic_quote_setting);
            }

            if ($this->_isError($body)) {
                return $body;
            }
            $encoded['body'] = $body;
        } else {
            $encoded['body'] = '';
        }

        // Add headers to $encoded
        $encoded['headers'] =& $this->_headers;

        return $encoded;
    }
function encode ( $ boundary = null ) { $ encoded = & $ this -> _encoded ; if ( count ( $ this -> _subparts ) ) { $ boundary = $ boundary ? $ boundary : '=_' . md5 ( rand ( ) . microtime ( ) ) ; $ eol = $ this -> _eol ; $ this -> _headers [ 'Content-Type' ] .= ";$eol boundary=\"$boundary\"" ; $ encoded [ 'body' ] = '' ; for ( $ i = 0 ; $ i < count ( $ this -> _subparts ) ; $ i ++ ) { $ encoded [ 'body' ] .= '--' . $ boundary . $ eol ; $ tmp = $ this -> _subparts [ $ i ] -> encode ( ) ; if ( $ this -> _isError ( $ tmp ) ) { return $ tmp ; } foreach ( $ tmp [ 'headers' ] as $ key => $ value ) { $ encoded [ 'body' ] .= $ key . ': ' . $ value . $ eol ; } $ encoded [ 'body' ] .= $ eol . $ tmp [ 'body' ] . $ eol ; } $ encoded [ 'body' ] .= '--' . $ boundary . '--' . $ eol ; } else if ( $ this -> _body ) { $ encoded [ 'body' ] = $ this -> _getEncodedData ( $ this -> _body , $ this -> _encoding ) ; } else if ( $ this -> _body_file ) { // Temporarily reset magic_quotes_runtime for file reads and writes if ( $ magic_quote_setting = get_magic_quotes_runtime ( ) ) { @ ini_set ( 'magic_quotes_runtime' , 0 ) ; } $ body = $ this -> _getEncodedDataFromFile ( $ this -> _body_file , $ this -> _encoding ) ; if ( $ magic_quote_setting ) { @ ini_set ( 'magic_quotes_runtime' , $ magic_quote_setting ) ; } if ( $ this -> _isError ( $ body ) ) { return $ body ; } $ encoded [ 'body' ] = $ body ; } else { $ encoded [ 'body' ] = '' ; } // Add headers to $encoded $ encoded [ 'headers' ] = & $ this -> _headers ; return $ encoded ; }
Encodes and returns the email. Also stores
it in the encoded member variable

@param string $boundary Pre-defined boundary string

@return An associative array containing two elements,
body and headers. The headers element is itself
an indexed array. On error returns PEAR error object.
@access public
Encodes and returns the email . Also stores it in the encoded member variable