Mail-LocalDelivery
view release on metacpan or search on metacpan
lib/Mail/LocalDelivery.pm view on Meta::CPAN
$self->{email} = $stuff;
} elsif (my $email = eval { Email::Abstract->new($self); }) {
$self->{email} = $email->cast('Mail::Internet');
} elsif (ref $stuff eq "ARRAY" or ref $stuff eq "GLOB") {
$self->{email} = Mail::Internet->new($stuff);
} else {
croak
"Data was neither a mail object or a reference to something I understand";
}
my $default_maildir = ((getpwuid($>))[7]) . "/Maildir/";
my $default_mbox = $ENV{MAIL}
|| (-d File::Spec->catdir($default_maildir, 'new') ? $default_maildir : ())
|| ((grep { -d $_ } qw(/var/spool/mail/ /var/mail/))[0] . getpwuid($>));
$self->{default_mbox} = $default_mbox;
$self->{emergency} ||= $default_mbox;
return bless $self => $class;
}
sub _nifty_interpolate {
# perform ~user and %Y%m%d strftime interpolation
lib/Mail/LocalDelivery.pm view on Meta::CPAN
my @out = @_;
my @localtime = localtime;
if ($self->{interpolate_strftime} and grep { /%/ } @out) {
require POSIX;
POSIX->import(qw(strftime));
@out = map { strftime($_, @localtime) } @out;
}
@out = map {
s{^~/} {((getpwuid($>))[7])."/"}e;
s{^~(\w+)/}{((getpwnam($1))[7])."/"}e;
$_
} @out;
return @out;
}
sub deliver {
my $self = shift;
( run in 0.349 second using v1.01-cache-2.11-cpan-8d75d55dd25 )