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

NAME

       Mail::Message::Field::AddrGroup - A group of Mail::Message::Field::Address objects

INHERITANCE

        Mail::Message::Field::AddrGroup
          is a User::Identity::Collection::Emails
          is a User::Identity::Collection
          is a User::Identity::Item

SYNOPSIS

         my $g = Mail::Message::Field::AddrGroup->new(name => 'name');

         my $a = Mail::Message::Field::Address->new(...);
         $g->addAddress($a);

         my $f = Mail::Message::Field::Addresses->new;
         $f->addGroup($g);

DESCRIPTION

       An address group collects a set of e-mail addresses (in this case they are Mail::Message::Field::Address
       objects).

       Extends "DESCRIPTION" in User::Identity::Collection::Emails.

OVERLOADED

       Extends "OVERLOADED" in User::Identity::Collection::Emails.

       overload: "" stringification
           Returns the string() value.  Improves base, see "OVERLOADED" in User::Identity::Collection

       overload: @{} array dereference
           Inherited, see "OVERLOADED" in User::Identity::Collection

METHODS

       Extends "METHODS" in User::Identity::Collection::Emails.

       $obj->string()
           Returns  the  address  group as string.  When no name is specified, it will only be a comma separated
           list of addresses.  With a name, the groups name will be prepended and a semi-colon  appended.   When
           no addresses where included and there is no name, then "undef" is returned.

   Constructors
       Extends "Constructors" in User::Identity::Collection::Emails.

       $obj->coerce($object)
           Coerce   an   $object  into  a  Mail::Message::Field::AddrGroup.   Currently,  you  can  only  coerce
           User::Identity::Collection::Emails (which is the base class for this one) into this one.

       $class->new( [$name], %options )
           Inherited, see "Constructors" in User::Identity::Collection::Emails

   Attributes
       Extends "Attributes" in User::Identity::Collection::Emails.

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

       $obj->itemType()
           Inherited, see "Attributes" in User::Identity::Collection

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

       $obj->roles()
           Inherited, see "Attributes" in User::Identity::Collection

   Collections
       Extends "Collections" in User::Identity::Collection::Emails.

       $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

       $any->type()
           Inherited, see "Collections" in User::Identity::Item

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

   Maintaining roles
       Extends "Maintaining roles" in User::Identity::Collection::Emails.

       $obj->addRole($role|([$name], %options))
           Inherited, see "Maintaining roles" in User::Identity::Collection

       $obj->removeRole($role|$name)
           Inherited, see "Maintaining roles" in User::Identity::Collection

       $obj->renameRole( <$role|$oldname>, $newname )
           Inherited, see "Maintaining roles" in User::Identity::Collection

       $obj->sorted()
           Inherited, see "Maintaining roles" in User::Identity::Collection

   Searching
       Extends "Searching" in User::Identity::Collection::Emails.

       $obj->find($name|CODE|undef)
           Inherited, see "Searching" in User::Identity::Collection

   Addresses
       $obj->addAddress(STRING|$address|%options)
           Add one e-mail address to the list which is maintained  in  the  group.  This  is  a  wrapper  around
           addRole()  adding  flexibility  on how addresses are specified.  An $address can be anything which is
           acceptable for Mail::Message::Field::Address::coerce() or a list of options which will create such an
           object.

           » example: of adding an address to an address group

             my @data = (full_name => "Myself", address => 'me@tux.org');
             $group->addAddress(@data);

             my $addr = Mail::Message::Field::Address->new(@data);
             $group->addAddress(@data);

             my $ma = Mail::Address->new(...);
             $group->addAddress($ma);

       $obj->addresses()
           Returns all addresses defined in this group.  The addresses will be ordered  alphabetically  to  make
           automated testing possible: roles are stored in a hash, so have an unpredictable order by default.

           » example: getting all addresses from a group

             my @addrs = $group->addresses;
             my @addrs = map $_->address, $self->roles; #same

   Error handling

DIAGNOSTICS

       Error: Cannot coerce a $type into a Mail::Message::Field::AddrGroup
           Cast by coerce()

       Error: cannot create a $type to add this to my collection.
           Some  options  are  specified to create a $type object, which is native to this collection.  However,
           for some reason this failed.  Cast by addRole()

       Error: cannot load collection module for $type ($class): $err
           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.   Cast  by
           addCollection()

       Error: cannot rename $from into $to: already exists.
           Cast by renameRole()

       Error: cannot rename $from into $to: doesn't exist.
           Cast by renameRole()

       Error: nvalid collection $name.
           The collection with $name does not exist and can not be created.  Cast by add()

       Error: this $object is not a collection.
           Cast by addCollection()

       Error: wrong type of role for $collection: requires a $expect but got a $type.
           Each  $collection  groups  sets of roles of one specific type ($expect).  You cannot add objects of a
           different $type.  Cast by addRole()

SEE ALSO

       This  module  is  part  of  Mail-Message  version  3.019,  built   on   November   24,   2025.   Website:
       http://perl.overmeer.net/CPAN/

LICENSE

       For contributors see file ChangeLog.

       This software is copyright (c) 2001-2025 by Mark Overmeer.

       This  is  free  software;  you  can  redistribute  it and/or modify it under the same terms as the Perl 5
       programming language system itself.

perl v5.40.1                                       2025-12-07               Mail::Message::Field::AddrGroup(3pm)