# phpman > perldoc > Mail::Message::Convert

## NAME
    [Mail::Message::Convert](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert/markdown) - conversions between message types

## INHERITANCE
     [Mail::Message::Convert](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert/markdown)
       is a [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

     [Mail::Message::Convert](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert/markdown) is extended by
       [Mail::Message::Convert::EmailSimple](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AEmailSimple/markdown)
       [Mail::Message::Convert::Html](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AHtml/markdown)
       [Mail::Message::Convert::HtmlFormatPS](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AHtmlFormatPS/markdown)
       [Mail::Message::Convert::HtmlFormatText](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AHtmlFormatText/markdown)
       [Mail::Message::Convert::MailInternet](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AMailInternet/markdown)
       [Mail::Message::Convert::MimeEntity](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AMimeEntity/markdown)
       [Mail::Message::Convert::TextAutoformat](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3ATextAutoformat/markdown)

## SYNOPSIS
    Available methods are very converter-specific.

## DESCRIPTION
    This class is the base for various message (and message parts) converters.

    Extends "DESCRIPTION" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown).

### Converters between message objects
    Internally, the [Mail::Message::coerce](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3Acoerce/markdown)() is called when foreign objects are used where message
    objects are expected. That method will automatically create the converting objects, and re-use
    them.

    *   [Mail::Message::Convert::MailInternet](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AMailInternet/markdown)

        Converts the simple [Mail::Internet](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AInternet/markdown) messages into [Mail::Message](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage/markdown) objects.

    *   [Mail::Message::Convert::MimeEntity](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AMimeEntity/markdown)

        Converts the more complicated [MIME::Entity](https://www.chedong.com/phpMan.php/perldoc/MIME%3A%3AEntity/markdown) messages into [Mail::Message](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage/markdown) objects.

    *   [Mail::Message::Convert::EmailSimple](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AEmailSimple/markdown)

        Converts [Email::Simple](https://www.chedong.com/phpMan.php/perldoc/Email%3A%3ASimple/markdown) messages into [Mail::Message](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage/markdown) objects.

### Other converters
    *   [Mail::Message::Convert::Html](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AHtml/markdown)

        Plays tricks with HTML/XMHTML without help of external modules.

    *   [Mail::Message::Convert::HtmlFormatText](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AHtmlFormatText/markdown)

        Converts HTML body objects to plain text objects using the [HTML::FormatText](https://www.chedong.com/phpMan.php/perldoc/HTML%3A%3AFormatText/markdown) module.

    *   [Mail::Message::Convert::HtmlFormatPS](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3AHtmlFormatPS/markdown)

        Converts HTML body objects to Postscript objects using the [HTML::FormatPS](https://www.chedong.com/phpMan.php/perldoc/HTML%3A%3AFormatPS/markdown) module.

    *   [Mail::Message::Convert::TextAutoformat](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert%3A%3ATextAutoformat/markdown)

        Converts a text message into text using [Text::Autoformat](https://www.chedong.com/phpMan.php/perldoc/Text%3A%3AAutoformat/markdown).

## METHODS
    Extends "METHODS" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown).

### Constructors
    Extends "Constructors" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown).

    [Mail::Message::Convert](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert/markdown)->new(%options)
         -Option--Defined in     --Default
          fields                   <see description>
          log     [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)   'WARNINGS'
          trace   [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)   'WARNINGS'

        fields => NAMES|ARRAY-OF-NAMES|REGEXS
          Select the fields of a header which are to be handled. Other fields will not be used. The
          value of this option is passed to [Mail::Message::Head::Complete::grepNames](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AHead%3A%3AComplete%3A%3AgrepNames/markdown)() whenever
          converters feel a need for header line selection. By default, the "To", "From", "Cc",
          "Bcc", "Date", "Subject", and their "Resent-" counterparts will be selected. Specify an
          empty list to get all fields.

        log => LEVEL
        trace => LEVEL

### Converting
    $obj->selectedFields($head)
        Returns a list of fields to be included in the format. The list is an ordered selection of
        the fields in the actual header, and filtered through the information as specified with
        new(fields).

### Error handling
    Extends "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown).

    $obj->AUTOLOAD()
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->addReport($object)
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->defaultTrace( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )
    [Mail::Message::Convert](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert/markdown)->defaultTrace( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->errors()
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->log( [$level, [$strings]] )
    [Mail::Message::Convert](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert/markdown)->log( [$level, [$strings]] )
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->logPriority($level)
    [Mail::Message::Convert](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvert/markdown)->logPriority($level)
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->logSettings()
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->notImplemented()
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->report( [$level] )
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->reportAll( [$level] )
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->trace( [$level] )
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

    $obj->warnings()
        Inherited, see "Error handling" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

### Cleanup
    Extends "Cleanup" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown).

    $obj->DESTROY()
        Inherited, see "Cleanup" in [Mail::Reporter](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AReporter/markdown)

## DIAGNOSTICS
    Error: Package $package does not implement $method.
        Fatal error: the specific package (or one of its superclasses) does not implement this
        method where it should. This message means that some other related classes do implement this
        method however the class at hand does not. Probably you should investigate this and probably
        inform the author of the package.

## SEE ALSO
    This module is part of Mail-Message distribution version 3.012, built on February 11, 2022.
    Website: <http://perl.overmeer.net/CPAN/>

## LICENSE
    Copyrights 2001-2022 by [Mark Overmeer <<markov@cpan.org>>]. For other contributors see ChangeLog.

    This program is free software; you can redistribute it and/or modify it under the same terms as
    Perl itself. See <http://dev.perl.org/licenses/>

