METHODS

Constructors

$class->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>

address => STRING
The e-mail address is constructed from the username/domain, but when both do not exist, the name is taken.
charset => STRING
comment => STRING
description => STRING
domain => STRING
language => STRING
location => NAME|OBJECT
The user's location which relates to this mail identity. This can be specified as location name (which will be looked-up when needed), or as User::Identity::Location object.
name => STRING
organization => STRING
Usually defined for e-mail addresses which are used by a company or other organization, but less common for personal addresses. This value will be used to fill the Organization header field of messages.
parent => OBJECT
pgp_key => STRING|FILENAME
phrase => STRING
signature => STRING
username => STRING

Attributes

$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
See description 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] )
See name 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.

Collections

$obj->add( COLLECTION, ROLE )
See add in User::Identity::Item.
$obj->addCollection( OBJECT | ([TYPE], OPTIONS) )
See addCollection in User::Identity::Item.
$obj->collection( NAME )
See collection in User::Identity::Item.
$obj->find( COLLECTION, ROLE )
See find in User::Identity::Item.
$obj->parent( [PARENT] )
See parent in User::Identity::Item.
$obj->removeCollection( OBJECT|NAME )
See removeCollection in User::Identity::Item.
$obj->type
$class->type
See type in User::Identity::Item.
$obj->user
See user in User::Identity::Item.