# Mailparse Functions

## Introduction

Mailparse is an extension for parsing and working with email messages. It can deal with » RFC 822 and » RFC 2045 (MIME) compliant messages.

Mailparse is stream based, which means that it does not keep in-memory copies of the files it processes - so it is very resource efficient when dealing with large messages.

> Note: Mailparse requires the mbstring extension, and mbstring must be loaded before mailparse.

This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 4.2.0.

## Installation

This » PECL extension is not bundled with PHP. Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: » http://pecl.php.net/package/mailparse.

In order to use these functions you must compile PHP with mailparse support by using the --enable-mailparse configure option.

Windows users will enable php_mailparse.dll inside of php.ini in order to use these functions. The DLL for this PECL extension may be downloaded from either the » PHP Downloads page or from » http://pecl4win.php.net/

## Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.

Mailparse configuration options
Name | Default | Changeable | Changelog
--- | --- | --- | ---
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Available since PHP 4.1.0. Removed in PHP 4.2.0.

For further details and definitions of the PHP_INI_* constants, see the php.ini directives.

## Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

`MAILPARSE_EXTRACT_OUTPUT` (integer)
`MAILPARSE_EXTRACT_STREAM` (integer)
`MAILPARSE_EXTRACT_RETURN` (integer)

## Table of Contents

- mailparse_determine_best_xfer_encoding — Gets the best way of encoding
- mailparse_msg_create — Create a mime mail resource
- mailparse_msg_extract_part_file — Extracts/decodes a message section
- mailparse_msg_extract_part — Extracts/decodes a message section
- mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding
- mailparse_msg_free — Frees a MIME resource
- mailparse_msg_get_part_data — Returns an associative array of info about the message
- mailparse_msg_get_part — Returns a handle on a given section in a mimemessage
- mailparse_msg_get_structure — Returns an array of mime section names in the supplied message
- mailparse_msg_parse_file — Parses a file
- mailparse_msg_parse — Incrementally parse data into buffer
- mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses
- mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp
- mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file