ASNMTAP
view release on metacpan or search on metacpan
lib/ASNMTAP/Asnmtap/Plugins/Mail.pm view on Meta::CPAN
my @parameters = (_asnmtapInherited => undef,
_SMTP =>
{
smtp => 'localhost',
port => 25,
retries => 3,
delay => 1,
mime => 0,
tz => undef,
debug => 0
},
_IMAP4 =>
{
imap4 => undef,
port => 143,
username => undef,
password => undef,
timeout => 120,
debug => 0
},
_POP3 =>
{
pop3 => undef,
port => 110,
username => undef,
password => undef,
timeout => 120,
debug => 0
},
_mailType => 0,
_text =>
{
SUBJECT => 'uKey=ASNMTAP',
from => 'From:',
to => 'To:',
subject => 'Subject:',
status => 'Status'
},
_mail =>
{
from => undef,
to => undef,
status => undef,
body => undef
}
);
if ( $] < 5.010000 ) {
eval "use fields";
$self = fields::phash (@parameters);
} else {
use ASNMTAP::PseudoHash;
$self = do {
my @array = undef;
while (my ($k, $v) = splice(@parameters, 0, 2)) {
$array[$array[0]{$k} = @array] = $v;
}
bless(\@array, $classname);
};
}
my %args = @_;
$self->{_asnmtapInherited} = $args{_asnmtapInherited} if ( exists $args{_asnmtapInherited} );
if ( exists $args{_SMTP} ) {
$self->{_SMTP}->{smtp} = $args{_SMTP}->{smtp} if ( exists $args{_SMTP}->{smtp} );
$self->{_SMTP}->{port} = $args{_SMTP}->{port} if ( exists $args{_SMTP}->{port} );
$self->{_SMTP}->{retries} = $args{_SMTP}->{retries} if ( exists $args{_SMTP}->{retries} );
$self->{_SMTP}->{delay} = $args{_SMTP}->{delay} if ( exists $args{_SMTP}->{delay} );
$self->{_SMTP}->{mime} = $args{_SMTP}->{mime} if ( exists $args{_SMTP}->{mime} );
$self->{_SMTP}->{tz} = $args{_SMTP}->{tz} if ( exists $args{_SMTP}->{tz} );
$self->{_SMTP}->{debug} = $args{_SMTP}->{debug} if ( exists $args{_SMTP}->{debug} );
}
if ( exists $args{_IMAP4} ) {
$self->{_IMAP4}->{imap4} = $args{_IMAP4}->{imap4} if ( exists $args{_IMAP4}->{imap4} );
$self->{_IMAP4}->{port} = $args{_IMAP4}->{port} if ( exists $args{_IMAP4}->{port} );
$self->{_IMAP4}->{username} = $args{_IMAP4}->{username} if ( exists $args{_IMAP4}->{username} );
$self->{_IMAP4}->{password} = $args{_IMAP4}->{password} if ( exists $args{_IMAP4}->{password} );
$self->{_IMAP4}->{timeout} = $args{_IMAP4}->{timeout} if ( exists $args{_IMAP4}->{timeout} );
$self->{_IMAP4}->{debug} = $args{_IMAP4}->{debug} if ( exists $args{_IMAP4}->{debug} );
}
if ( exists $args{_POP3} ) {
$self->{_POP3}->{pop3} = $args{_POP3}->{pop3} if ( exists $args{_POP3}->{pop3} );
$self->{_POP3}->{port} = $args{_POP3}->{port} if ( exists $args{_POP3}->{port} );
$self->{_POP3}->{username} = $args{_POP3}->{username} if ( exists $args{_POP3}->{username} );
$self->{_POP3}->{password} = $args{_POP3}->{password} if ( exists $args{_POP3}->{password} );
$self->{_POP3}->{timeout} = $args{_POP3}->{timeout} if ( exists $args{_POP3}->{timeout} );
$self->{_POP3}->{debug} = $args{_POP3}->{debug} if ( exists $args{_POP3}->{debug} );
}
$self->{_mailType} = $args{_mailType} if ( exists $args{_mailType} );
if ( exists $args{_text} ) {
$self->{_text}->{SUBJECT} = $args{_text}->{SUBJECT} if ( exists $args{_text}->{SUBJECT} );
$self->{_text}->{from} = $args{_text}->{from} if ( exists $args{_text}->{from} );
$self->{_text}->{to} = $args{_text}->{to} if ( exists $args{_text}->{to} );
$self->{_text}->{subject} = $args{_text}->{subject} if ( exists $args{_text}->{subject} );
$self->{_text}->{status} = $args{_text}->{status} if ( exists $args{_text}->{status} );
}
if ( exists $args{_mail} ) {
$self->{_mail}->{from} = $args{_mail}->{from} if ( exists $args{_mail}->{from} );
$self->{_mail}->{to} = $args{_mail}->{to} if ( exists $args{_mail}->{to} );
$self->{_mail}->{status} = $args{_mail}->{status} if ( exists $args{_mail}->{status} );
$self->{_mail}->{body} = $args{_mail}->{body} if ( exists $args{_mail}->{body} );
}
bless ($self, $classname);
$self->_init();
return ($self);
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub _init {
my $asnmtapInherited = $_[0]->{_asnmtapInherited};
unless ( defined $asnmtapInherited ) { cluck ( 'ASNMTAP::Asnmtap::Plugins::Mail: asnmtapInherited missing' ); exit $ERRORS{UNKNOWN} }
carp ('ASNMTAP::Asnmtap::Pluginw::MAIL: _init') if ( $$asnmtapInherited->{_debug} );
unless ( defined $$asnmtapInherited->{_programName} and $$asnmtapInherited->{_programName} ne 'NOT DEFINED' ) {
$$asnmtapInherited->pluginValues ( { stateValue => $ERRORS{UNKNOWN}, error => 'Missing parent object attribute mName' }, $TYPE{APPEND} );
return ( $ERRORS{UNKNOWN} );
}
unless ( defined $$asnmtapInherited->{_programDescription} and $$asnmtapInherited->{_programDescription} ne 'NOT DEFINED' ) {
$$asnmtapInherited->pluginValues ( { stateValue => $ERRORS{UNKNOWN}, error => 'Missing parent object attribute mDescription' }, $TYPE{APPEND} );
return ( $ERRORS{UNKNOWN} );
}
unless ( $$asnmtapInherited->getOptionsArgv('environment') ) {
$$asnmtapInherited->pluginValues ( { stateValue => $ERRORS{UNKNOWN}, error => 'Missing parent object command line option -e|--environment' }, $TYPE{APPEND} );
return ( $ERRORS{UNKNOWN} );
}
my %environment = ( P => 'PROD', S => 'SIM', A => 'ACC', T => 'TEST', D => 'DEV', L => 'LOCAL' );
$_[0]->[ $_[0]->[0]{_environment_} = @{$_[0]} ] = $environment { $$asnmtapInherited->getOptionsArgv('environment') };
if ( $$asnmtapInherited->getOptionsValue ('debug') ) {
$_[0]->{_SMTP}->{debug} = $$asnmtapInherited->getOptionsValue ('debug') if ( $_[0]->{_SMTP}->{debug} < $$asnmtapInherited->getOptionsValue ('debug') );
$_[0]->{_POP3}->{debug} = $$asnmtapInherited->getOptionsValue ('debug') if ( $_[0]->{_POP3}->{debug} < $$asnmtapInherited->getOptionsValue ('debug') );
$_[0]->{_IMAP4}->{debug} = $$asnmtapInherited->getOptionsValue ('debug') if ( $_[0]->{_IMAP4}->{debug} < $$asnmtapInherited->getOptionsValue ('debug') );
}
$_[0]->{_POP3}->{timeout} = $$asnmtapInherited->timeout() if ( $_[0]->{_POP3}->{timeout} == 120 );
$_[0]->{_IMAP4}->{timeout} = $$asnmtapInherited->timeout() if ( $_[0]->{_IMAP4}->{timeout} == 120 );
unless ($_[0]->{_mailType} =~ /^[01]$/ ) {
$$asnmtapInherited->pluginValues ( { stateValue => $ERRORS{UNKNOWN}, error => 'Parameter _mailType must be 0 or 1' }, $TYPE{APPEND} );
return ( $ERRORS{UNKNOWN} );
}
unless ( defined $_[0]->{_mail}->{from} ) {
$$asnmtapInherited->pluginValues ( { stateValue => $ERRORS{UNKNOWN}, error => 'Missing MAIL parameter _mail => {from => ...}' }, $TYPE{APPEND} );
return ( $ERRORS{UNKNOWN} );
}
unless ( defined $_[0]->{_mail}->{to} ) {
$$asnmtapInherited->pluginValues ( { stateValue => $ERRORS{UNKNOWN}, error => 'Missing MAIL parameter _mail => {to => ...}' }, $TYPE{APPEND} );
return ( $ERRORS{UNKNOWN} );
}
unless ( defined $_[0]->{_mail}->{status} ) {
$$asnmtapInherited->pluginValues ( { stateValue => $ERRORS{UNKNOWN}, error => 'Missing MAIL parameter _mail => {status => ...}' }, $TYPE{APPEND} );
return ( $ERRORS{UNKNOWN} );
}
( run in 1.957 second using v1.01-cache-2.11-cpan-39bf76dae61 )