MailMimeParser
    
            
            in package
            
        
    
    
    
        
            Parses a MIME message into an {@see IMessage} object.
The class sets up the Pimple dependency injection container with the ability to override and/or provide specialized provider https://pimple.symfony.com/ classes to extend default classes used by MailMimeParser.
To invoke, call parse on a MailMimeParser object.
$parser = new MailMimeParser();
// the resource is attached due to the second parameter being true and will
// be closed when the returned IMessage is destroyed
$message = $parser->parse(fopen('path/to/file.txt'), true);
// use $message here
Tags
Table of Contents
- DEFAULT_CHARSET = 'UTF-8'
 - $di : Container
 - $messageParser : MessageParser
 - __construct() : mixed
 - Initializes the dependency container if not already initialized.
 - configureDependencyContainer() : mixed
 - (Re)creates the container using the passed providers.
 - getDependencyContainer() : Container
 - Returns the container.
 - parse() : IMessage
 - Parses the passed stream handle or string into an {@see IMessage} object and returns it.
 - setDependencyContainer() : mixed
 - Override the dependency container completely. If multiple configurations are known to be needed, it would be better to keep the different Container configurations and call setDependencyContainer instead of {@see MailMimeParser::configureDependencyContainer}, which instantiates a new {@see Container} on every call.
 
Constants
DEFAULT_CHARSET
    public
    string
    DEFAULT_CHARSET
    = 'UTF-8'
    
        the default charset used to encode strings (or string content like streams) returned by MailMimeParser (for e.g. the string returned by calling $message->getTextContent()).
Properties
$di
    protected
    static    Container
    $di
     = null
    
        dependency injection container
$messageParser
    protected
        MessageParser
    $messageParser
    
    
        for parsing messages
Methods
__construct()
Initializes the dependency container if not already initialized.
    public
                __construct() : mixed
        To configure custom https://pimple.symfony.com/ objects, call MailMimeParser::configureDependencyContainer() before creating a MailMimeParser instance.
Return values
mixed —configureDependencyContainer()
(Re)creates the container using the passed providers.
    public
            static    configureDependencyContainer([array<string|int, ServiceProviderInterface> $providers = [] ]) : mixed
        This is necessary if configuration needs to be reset to parse emails differently.
Note that reconfiguring the dependency container can have an affect on existing objects -- for instance if a provider were to override a factory class, and an operation on an existing instance were to try to create an object using that factory class, the new factory class would be returned. In other words, references to the Container are not maintained in a non-static context separately, so care should be taken when reconfiguring the parser.
Parameters
- $providers : array<string|int, ServiceProviderInterface> = []
 
Return values
mixed —getDependencyContainer()
Returns the container.
    public
            static    getDependencyContainer() : Container
    
    
    
        Return values
Container —parse()
Parses the passed stream handle or string into an {@see IMessage} object and returns it.
    public
                parse(resource|StreamInterface|string $resource, bool $attached) : IMessage
        If the passed $resource is a resource handle or StreamInterface, the resource must remain open while the returned IMessage object exists. Pass true as the second argument to have the resource attached to the IMessage and closed for you when it's destroyed, or pass false to manually close it if it should remain open after the IMessage object is destroyed.
Parameters
- $resource : resource|StreamInterface|string
 - 
                    
The resource handle to the input stream of the mime message, or a string containing a mime message.
 - $attached : bool
 - 
                    
pass true to have it attached to the returned IMessage and destroyed with it.
 
Return values
IMessage —setDependencyContainer()
Override the dependency container completely. If multiple configurations are known to be needed, it would be better to keep the different Container configurations and call setDependencyContainer instead of {@see MailMimeParser::configureDependencyContainer}, which instantiates a new {@see Container} on every call.
    public
            static    setDependencyContainer([Container $di = null ]) : mixed
    
        Parameters
- $di : Container = null