Provided by: libmail-message-perl_3.006-1_all bug

NAME

       Mail::Message::Field::Address - One e-mail address

INHERITANCE

        Mail::Message::Field::Address
          is a Mail::Identity
          is an User::Identity::Item

SYNOPSIS

        my $addr = Mail::Message::Field::Address->new(...);

        my $ui   = User::Identity->new(...);
        my $addr = Mail::Message::Field::Address->coerce($ui);

        my $mi   = Mail::Identity->new(...);
        my $addr = Mail::Message::Field::Address->coerce($mi);

        print $addr->address;
        print $addr->fullName;   # possibly unicode!
        print $addr->domain;

DESCRIPTION

       Many header fields can contain e-mail addresses.  Each e-mail address can be represented
       by an object of this class.  These objects will handle interpretation and character set
       encoding and decoding for you.

       Extends "DESCRIPTION" in Mail::Identity.

OVERLOADED

       overload: boolean
           The object used as boolean will always return "true"

       overload: string $comparison
           Two address objects are the same when their email addresses are the same.

       overload: stringification
           When the object is used in string context, it will return the encoded representation
           of the e-mail address, just like string() does.

METHODS

       Extends "METHODS" in Mail::Identity.

   Constructors
       Extends "Constructors" in Mail::Identity.

       $obj->coerce( <STRING|$object>, %options )
           Try to coerce the $object into a "Mail::Message::Field::Address".  In case of a
           STRING, it is interpreted as an email address.

           The %options are passed to the object creation, and overrule the values found in the
           $object.  The result may be "undef" or a newly created object.  If the $object is
           already of the correct type, it is returned unmodified.

           The $object may currently be a Mail::Address, a Mail::Identity, or a User::Identity.
           In case of the latter, one of the user's addresses is chosen at random.

       Mail::Message::Field::Address->new( [$name], %options )
           Inherited, see "Constructors" in Mail::Identity

       $obj->parse(STRING)
           Parse the string for an address.  You never know whether one or more addresses are
           specified on a line (often applications are wrong), therefore, the STRING is first
           parsed for as many addresses as possible and then the one is taken at random.

   Attributes
       Extends "Attributes" in Mail::Identity.

       $obj->address()
           Inherited, see "Attributes" in Mail::Identity

       $obj->charset()
           Inherited, see "Attributes" in Mail::Identity

       $obj->comment( [STRING] )
           Inherited, see "Attributes" in Mail::Identity

       $obj->description()
           Inherited, see "Attributes" in User::Identity::Item

       $obj->domain()
           Inherited, see "Attributes" in Mail::Identity

       $obj->language()
           Inherited, see "Attributes" in Mail::Identity

       $obj->location()
           Inherited, see "Attributes" in Mail::Identity

       $obj->name( [$newname] )
           Inherited, see "Attributes" in User::Identity::Item

       $obj->organization()
           Inherited, see "Attributes" in Mail::Identity

       $obj->phrase()
           Inherited, see "Attributes" in Mail::Identity

       $obj->username()
           Inherited, see "Attributes" in Mail::Identity

   Collections
       Extends "Collections" in Mail::Identity.

       $obj->add($collection, $role)
           Inherited, see "Collections" in User::Identity::Item

       $obj->addCollection( $object | <[$type], %options> )
           Inherited, see "Collections" in User::Identity::Item

       $obj->collection($name)
           Inherited, see "Collections" in User::Identity::Item

       $obj->parent( [$parent] )
           Inherited, see "Collections" in User::Identity::Item

       $obj->removeCollection($object|$name)
           Inherited, see "Collections" in User::Identity::Item

       $obj->type()
       Mail::Message::Field::Address->type()
           Inherited, see "Collections" in User::Identity::Item

       $obj->user()
           Inherited, see "Collections" in User::Identity::Item

   Searching
       Extends "Searching" in Mail::Identity.

       $obj->find($collection, $role)
           Inherited, see "Searching" in User::Identity::Item

   Accessors
       $obj->encoding()
           Character-set encoding, like 'q' and 'b', to be used when non-ascii characters are to
           be transmitted.

   Access to the content
       $obj->string()
           Returns an RFC compliant e-mail address, which will have character set encoding if
           needed.  The objects are also overloaded to call this method in string context.

           example:

            print $address->string;
            print $address;          # via overloading

DIAGNOSTICS

       Error: $object is not a collection.
           The first argument is an object, but not of a class which extends
           User::Identity::Collection.

       Error: Cannot coerce a $type into a Mail::Message::Field::Address
           When addresses are specified to be included in header fields, they may be coerced into
           Mail::Message::Field::Address objects first.  What you specify is not accepted as
           address specification.  This may be an internal error.

       Error: Cannot load collection module for $type ($class).
           Either the specified $type does not exist, or that module named $class returns
           compilation errors.  If the type as specified in the warning is not the name of a
           package, you specified a nickname which was not defined.  Maybe you forgot the
           'require' the package which defines the nickname.

       Error: Creation of a collection via $class failed.
           The $class did compile, but it was not possible to create an object of that class
           using the options you specified.

       Error: Don't know what type of collection you want to add.
           If you add a collection, it must either by a collection object or a list of options
           which can be used to create a collection object.  In the latter case, the type of
           collection must be specified.

       Warning: No collection $name
           The collection with $name does not exist and can not be created.

SEE ALSO

       This module is part of Mail-Message distribution version 3.006, built on January 24, 2018.
       Website: http://perl.overmeer.net/CPAN/

LICENSE

       Copyrights 2001-2018 by [Mark Overmeer]. 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/