NAME
Sisimai::Address - Email address object
SYNOPSIS
use Sisimai::Address;my $v = Sisimai::Address->new({ 'address' => '[email protected]' });print $v->user; # nekoprint $v->host; # example.orgprint $v->address; # [email protected]print Sisimai::Address->is_emailaddress('[email protected]'); # 1print Sisimai::Address->is_domainpart('example.jp'); # 1print Sisimai::Address->is_mailerdaemon('[email protected]'); # 0
DESCRIPTION
"Sisimai::Address" provide methods for dealing email address.
CLASS METHODS
"is_emailaddress(email address)"
is_emailaddress() method checks the argument is valid email address or not.
print Sisimai::Address->is_emailaddress('[email protected]'); # 1print Sisimai::Address->is_emailaddress('neko%example.jp'); # 0my $addr_with_name = ['Stray cat <[email protected]','=?UTF-8?B?55m954yr?= <[email protected]>',];for my $e ( @$addr_with_name ) {print Sisimai::Address->is_emailaddress($e); # 1}
"is_mailerdaemon(email address)"
is_mailerdaemon() method checks the argument is mailer-daemon or not.
print Sisimai::Address->is_mailerdaemon('[email protected]'); # 0print Sisimai::Address->is_mailerdaemon('[email protected]'); # 1
"find(String)"
find() method is a new parser for getting only the email address from the given string including an email addresses.
my $r = 'Stray cat <[email protected]>, [email protected] (White Cat)',my $v = Sisimai::Address->find($r);warn Dumper $v;$VAR1 = [{'name' => 'Stray cat','address' => '[email protected]','comment' => ''},{'name' => '','address' => '[email protected]','comment' => '(White Cat)'}];
"s3s4(email address)"
s3s4() method works Ruleset 3, and 4 of sendmail.cf.
my $r = ['Stray cat <[email protected]>','[email protected] (White Cat)',];for my $e ( @$r ) {print Sisimai::Address->s3s4($e); # [email protected]# [email protected]}
"expand_verp(email address)"
expand_verp() method gets the original email address from "VERP"
my $r = '[email protected]';print Sisimai::Address->expand_verp($r); # [email protected]
"expand_alias(email address)"
expand_alias() method gets the original email address from the alias address
my $r = '[email protected]';print Sisimai::Address->expand_alias($r); # [email protected]
INSTANCE METHODS
"user()"
user() method returns a local part of the email address.
my $v = Sisimai::Address->new({ 'address' => '[email protected]' });print $v->user; # neko
"host()"
host() method returns a domain part of the email address.
my $v = Sisimai::Address->new({ 'address' => '[email protected]' });print $v->host; # example.org
"address()"
address() method returns an email address
my $v = Sisimai::Address->new({ 'address' => '[email protected]' });print $v->address; # [email protected]
"verp()"
verp() method returns a VERP email address
my $v = Sisimai::Address->new({ 'address' => '[email protected]' });print $v->verp; # [email protected]print $v->address; # [email protected]
"alias()"
alias() method returns an email address (alias)
my $v = Sisimai::Address->new({ 'address' => '[email protected]' });print $v->alias; # [email protected]print $v->address; # [email protected]
"name()"
name() method returns a display name
my $e = '"Neko, Nyaan" <[email protected]>';my $r = Sisimai::Address->find($e);my $v = Sisimai::Address->new($r->[0]);print $v->address; # [email protected]print $v->name; # Neko, Nyaan
"comment()"
comment() method returns a comment
my $e = '"Neko, Nyaan" <neko(nyaan)@example.org>';my $v = Sisimai::Address->new(shift Sisimai::Address->find($e)->@*);print $v->address; # [email protected]print $v->comment; # nyaan
AUTHOR
azumakuniyuki
COPYRIGHT
Copyright (C) 2014-2024 azumakuniyuki, All rights reserved.
LICENSE
This software is distributed under The BSD 2-Clause License.