Provided by: libmail-box-perl_2.110-1_all bug

NAME

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

INHERITANCE

        Mail::Message::Field::Address
          is a Mail::Identity
          is a 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.

       See documentation in the base class.

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

       See documentation in the base class.

   Constructors
       See documentation in the base class.

       $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)
           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
       See documentation in the base class.

       $obj->address()
           See "Attributes" in Mail::Identity

       $obj->charset()
           See "Attributes" in Mail::Identity

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

       $obj->description()
           See "Attributes" in User::Identity::Item

       $obj->domain()
           See "Attributes" in Mail::Identity

       $obj->language()
           See "Attributes" in Mail::Identity

       $obj->location()
           See "Attributes" in Mail::Identity

       $obj->name([NEWNAME])
           See "Attributes" in User::Identity::Item

       $obj->organization()
           See "Attributes" in Mail::Identity

       $obj->phrase()
           See "Attributes" in Mail::Identity

       $obj->username()
           See "Attributes" in Mail::Identity

   Collections
       See documentation in the base class.

       $obj->add(COLLECTION, ROLE)
           See "Collections" in User::Identity::Item

       $obj->addCollection(OBJECT | ([TYPE], OPTIONS))
           See "Collections" in User::Identity::Item

       $obj->collection(NAME)
           See "Collections" in User::Identity::Item

       $obj->find(COLLECTION, ROLE)
           See "Collections" in User::Identity::Item

       $obj->parent([PARENT])
           See "Collections" in User::Identity::Item

       $obj->removeCollection(OBJECT|NAME)
           See "Collections" in User::Identity::Item

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

       $obj->user()
           See "Collections" 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-Box distribution version 2.110, built on January 05, 2014.
       Website: http://perl.overmeer.net/mailbox/

LICENSE

       Copyrights 2001-2014 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://www.perl.com/perl/misc/Artistic.html