Mail::Address - Parse mail addresses


           use Mail::Address;

           my @addrs = Mail::Address->parse($line);

           foreach $addr (@addrs) {
               print $addr->format,"\n";


       "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 cov-
       ers about 95% of what can be found). Problems are with

       o   no support for address groups, even not with the semi-colon as sep-
           arator between addresses

       o   Limitted support for escapes in phrases and comments.  There are
           cases where it can get wrong.

       o   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.


         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;


       new( PHRASE,  ADDRESS, [ COMMENT ])
            Mail::Address->new("Perl5 Porters", "");

           Create a new "Mail::Address" object which represents an address
           with the elements given. In a message these 3 elements would be
           seen like:

            ADDRESS (COMMENT)

       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


       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 iden-
           tify 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


       Graham Barr.  Maintained by Mark Overmeer <>


       Copyright (c) 2002-2005 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.

perl v5.8.8                       2007-05-11                  Mail::Address(3)
See also Mail::Cap(3)
See also Mail::Field(3)
See also Mail::Field::AddrList(3)
See also Mail::Filter(3)
See also Mail::Header(3)
See also Mail::Internet(3)
See also Mail::Mailer(3)
See also Mail::Send(3)
See also Mail::Util(3)

Man(1) output converted with man2html