oracular (3) Mail::Message::Field::Address.3pm.gz

Provided by: libmail-message-perl_3.015-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.

       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.015, built on December 11, 2023. Website:
       http://perl.overmeer.net/CPAN/

LICENSE

       Copyrights 2001-2023 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/