Mail::Identity - an e-mail role
Mail::Identity
is a User::Identity::Item
use User::Identity;
use Mail::Identity;
my $me = User::Identity->new(...);
my $addr = Mail::Identity->new(address => 'x@y');
$me->add(email => $addr);
# Simpler
use User::Identity;
my $me = User::Identity->new(...);
my $addr = $me->add(email => 'x@y');
my $addr = $me->add( email => 'home'
, address => 'x@y');
# Conversion
my $ma = Mail::Address->new(...);
my $mi = Mail::Identity->coerce($ma);
The "Mail::Identity" object
contains the description of role played by a human when sending e-mail. Most
people have more than one role these days: for instance, a private and a
company role with different e-mail addresses.
An "Mail::Identity" object
combines an e-mail address, user description ("phrase"), a
signature, pgp-key, and so on. All fields are optional, and some fields are
smart. One such set of data represents one role.
"Mail::Identity" is therefore the smart
cousine of the Mail::Address object.
Extends "DESCRIPTION" in User::Identity::Item.
Extends "METHODS" in User::Identity::Item.
Extends "Constructors" in User::Identity::Item.
- Mail::Identity->new(
[$name], %options )
-
-Option --Defined in --Default
address <username@domain or name>
charset <user's charset>
comment <user's fullname if phrase is different>
description User::Identity::Item undef
domain <from email or localhost>
language <from user>
location <random user's location>
name User::Identity::Item <phrase or user's fullName>
organization <location's organization>
parent User::Identity::Item undef
pgp_key undef
phrase <user's fullName>
signature undef
username <from address or user's nickname>
Extends "Attributes" in User::Identity::Item.
- $obj->address()
- Returns the e-mail address for this role. If none was specified, it will
be constructed from the username and domain. If those are not present as
well, then the name() is used when it contains a
"@", else the user's nickname is
taken.
- $obj->charset()
- Returns the character set used in comment and phrase. When set to
"undef", the strings (are already
encoded to) contain only ASCII characters. This defaults to the value of
the user's charset, if a user is defined.
- $obj->comment( [STRING] )
- E-mail address -when included in message MIME headers- can contain a
comment. The RFCs advice not to store useful information in these
comments, but it you really want to, you can do it. The comment defaults
to the user's fullname if the phrase is not the fullname and there is a
user defined.
Comments will be enclosed in parenthesis when used.
Parenthesis (matching) or non-matching) which are already in the string
will carefully escaped when needed. You do not need to worry.
- $obj->description()
- Inherited, see "Attributes" in User::Identity::Item
- $obj->domain()
- The domain is the part of the e-mail address after the
"@"-sign. When this is not defined, it
can be deducted from the email address (see address()). If nothing
is known, "localhost" is returned.
- $obj->language()
- Returns the language which is used for the description fields of this
e-mail address, which defaults to the user's language.
- $obj->location()
- Returns the object which describes to which location this mail address
relates. The location may be used to find the name of the organization
involved, or to create a signature. If no location is specified, but a
user is defined which has locations, one of those is randomly chosen.
- $obj->name( [$newname] )
- Inherited, see "Attributes" in User::Identity::Item
- $obj->organization()
- Returns the organization which relates to this e-mail identity. If not
explicitly specified, it is tried to be found via the location.
- $obj->phrase()
- The phrase is used in an e-mail address to explain who is sending the
message. This usually is the fullname (the user's fullname is used by
default), description of your function (Webmaster), or any other text.
When an email string is produced, the phase will be quoted if
needed. Quotes which are within the string will automatically be
escaped, so you do no need to worry: input cannot break the outcome!
- $obj->username()
- Returns the username of this e-mail address. If none is specified, first
it is tried to extract it from the specified e-mail address. If there is
also no username in the e-mail address, the user identity's nickname is
taken.
Extends "Collections" in User::Identity::Item.
- $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::Identity->type()
- Inherited, see "Collections" in User::Identity::Item
- $obj->user()
- Inherited, see "Collections" in User::Identity::Item
Extends "Searching" in User::Identity::Item.
- $obj->find($collection, $role)
- Inherited, see "Searching" in User::Identity::Item
This module is part of User-Identity distribution version 1.01,
built on February 11, 2022. Website:
http://perl.overmeer.net/CPAN/
Copyrights 2003-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/