# info > Mail::Message::Convert

## [Mail::Message::ConvertUser](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage%3A%3AConvertUser/markdown))Contributed Perl [DocumenMail::Message](https://www.chedong.com/phpMan.php/perldoc/DocumenMail%3A%3AMessage/markdown)::[Convert(3pm)](https://www.chedong.com/phpMan.php/man/Convert/3pm/markdown)

## 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.

       o   [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.

       o   [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.

       o   [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
       o   [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.

       o   [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.

       o   [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.

       o   [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/>

perl v5.34.0                      2022-02-14       [Mail::Message](https://www.chedong.com/phpMan.php/perldoc/Mail%3A%3AMessage/markdown)::[Convert(3pm)](https://www.chedong.com/phpMan.php/man/Convert/3pm/markdown)
