 |
Index for Section 3 |
|
 |
Alphabetical listing for M |
|
 |
Bottom of page |
|
Mail::Address(3)
NAME
Mail::Address - Parse mail addresses
SYNOPSIS
use Mail::Address;
my @addrs = Mail::Address->parse($line);
foreach $addr (@addrs) {
print $addr->format,"\n";
}
DESCRIPTION
"Mail::Address" extracts and manipulates email addresses from a message
header. It cannot be used to extract addresses from some random text. You
can use this module to create RFC822 compliant fields.
Although "Mail::Address" is a very popular subject for books, and is used
in many applications, it does a very poor job on the more complex message
fields. It does only handle simple address formats (which covers about 95%
of what can be found). Problems are with
· no support for address groups, even not with the semi-colon as
separator between addresses
· Limitted support for escapes in phrases and comments. There are cases
where it can get wrong.
· You have to take care of most escaping when you create an address
yourself: "Mail::Address" does not do that for you.
Often requests are made to improve this situation, but this is not a good
idea, where it will break zillions of existing applications. If you wish
for a fully RFC2822 compliant implementation you may take a look at
Mail::Message::Field::Full, part of MailBox.
Example:
my $s = Mail::Message::Field::Full->parse($header);
# ref $s isa Mail::Message::Field::Addresses;
my @g = $s->groups; # all groups, at least one
# ref $g[0] isa Mail::Message::Field::AddrGroup;
my $ga = $g[0]->addresses; # group addresses
my @a = $s->addresses; # all addresses
# ref $a[0] isa Mail::Message::Field::Address;
CONSTRUCTORS
new( PHRASE, ADDRESS, [ COMMENT ])
Mail::Address->new("Perl5 Porters", "perl5-porters@africa.nicoh.com");
Create a new "Mail::Address" object which represents an address with
the elements given. In a message these 3 elements would be seen like:
PHRASE <ADDRESS> (COMMENT)
ADDRESS (COMMENT)
parse( LINE )
Mail::Address->parse($line);
Parse the given line a return a list of extracted "Mail::Address"
objects. The line would normally be one taken from a To,Cc or Bcc line
in a message
METHODS
phrase ()
Return the phrase part of the object.
address ()
Return the address part of the object.
comment ()
Return the comment part of the object
format ()
Return a string representing the address in a suitable form to be
placed on a To,Cc or Bcc line of a message
name ()
Using the information contained within the object attempt to identify
what the person or groups name is
host ()
Return the address excluding the user id and '@'
user ()
Return the address excluding the '@' and the mail domain
path ()
Unimplemented yet but should return the UUCP path for the message
canon ()
Unimplemented yet but should return the UUCP canon for the message
AUTHOR
Graham Barr. Maintained by Mark Overmeer <mailtools@overmeer.net>
COPYRIGHT
Copyright (c) 2002-2003 Mark Overmeer, 1995-2001 Graham Barr. All rights
reserved. This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
 |
Index for Section 3 |
|
 |
Alphabetical listing for M |
|
 |
Top of page |
|