From 9c7637e50c62345d39c42bcae652bac636fffa50 Mon Sep 17 00:00:00 2001 From: slerena Date: Wed, 4 May 2011 16:34:29 +0000 Subject: [PATCH] 2011-05-04 Sancho Lerena * scripts/mail_transfer: Added new script to send/receive XML data files by SMTP/POP3. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4303 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- extras/ChangeLog | 5 + .../PandoraFMS_mail_transfer.es.odt | Bin 0 -> 118439 bytes extras/scripts/mail_transfer/config_file.conf | 33 ++ extras/scripts/mail_transfer/mail_transfer.pl | 318 ++++++++++++++++++ 4 files changed, 356 insertions(+) create mode 100644 extras/scripts/mail_transfer/PandoraFMS_mail_transfer.es.odt create mode 100644 extras/scripts/mail_transfer/config_file.conf create mode 100755 extras/scripts/mail_transfer/mail_transfer.pl diff --git a/extras/ChangeLog b/extras/ChangeLog index c47067e7e4..60d3c9b56d 100644 --- a/extras/ChangeLog +++ b/extras/ChangeLog @@ -1,3 +1,8 @@ +2011-05-04 Sancho Lerena + + * scripts/mail_transfer: Added new script to send/receive XML data + files by SMTP/POP3. + 2011-02-22 Ramon Novoa * build_src.sh: Updated to work with the current directory structure. diff --git a/extras/scripts/mail_transfer/PandoraFMS_mail_transfer.es.odt b/extras/scripts/mail_transfer/PandoraFMS_mail_transfer.es.odt new file mode 100644 index 0000000000000000000000000000000000000000..6460a512b72359dfcc784a9e6854e309d351d431 GIT binary patch literal 118439 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 JG}?~fh02V6&clvKVcF|ijY)e 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 &TI?6=;76)0E%y*+NI}JZv))!ThYi|sob8Rl= zoZwKO=oJ=H>3JuUsQ6hdOp}lLv#tGBbv#{oEW$YVhr3lodgCsJ$LzLPNebS$Q}RjD zX@}6wIWZy3ydskwweg6vv>g2m3^ceYVPPCn(m7vDQyD&8*%SpXsGJ91FB_l1Uc|oT z`Ctz)#7p1Bh&07LZht!+dhLksK7o^^vrU(>JFb<;+!{c|zCm5LowIXY@JaPJFrn5H z^2|j*1dBI*34nuwDkcB9(CtrMI5wmUml07GqL+{rW&GEQH;A*SKDx;=oeAA<&mC#m z3{Do&LJ3PzNR59l^$IEk@7;5N)@c@9xE>8BGFE35(^pCaTk3o9QXYV~*dUO`NNPxFsz`8EP+(g|tt$;f=vp0&?- zE46vAbV=di`%MMO3-@;kvE{*=D!Xg$*3PffbMd60G+dC)p@pZZ_v}SXol|cjodTb5&O}HXtQUKX*N5(WP*_po?1}A4oy(SKhi2;w4U2UD4FvOB0yqn@MHo z6lR`ErV#&T8cJ&HhJ5E$1hl_tS9c zcED5@djr3SJLo!+gHc{t+qh-W#f9*2Mp>(?zI;jAS-=eAO>xbx_p>zC>CGWTX zf_#$b(fv^F{OS6On;j$%6oP_K*P_BQw)) zftgk4#}%8fFe@`R8wZQ%y?5ZB(5sc~H?x^gQ1{2*p|c=~{TZ577~-pe1m;&l>_RVD z*x0#+{{*ckaPhdQ0OGBM9Dj!%?EO#BY@BRApt)GM*f@ol*qDTVhyK}|eqX(Mzk}MZ zFyjXO`+jOav-?x<_ob-!L#bcEH5B@9OI?3T{v3?|bE)bt$u)@NznU?`P5D#uXPUoz zt?#`uzXEI+^lz&=f6CogjQhIsPoMTLIi@^FiV(-qy@&gsQvY-l{gT2ghW?LEqhBb$ zwy68v^!SAW*9iS@Bl`bfi2MTmk)dB8P*C@V$gd#%2hhKpC4X;5za)S7!hT)*{Q>Eh znev}e?#JW5Lfs!wem7hGr#Q!d!1>*b`Oi4_hRm-(_vPOU{g+wuKSeS41IjNm=Rc#| z8#=#2>>p76&FuNlV1F;@(LaFwZU+6p`Pq_wf4=^`^`bOETGDT3(a);)Q}Xvd`TqI) fD-3*v{`1pVUJ4HWo(&uFR||Qlf9rts=}`X%ZsWwJ literal 0 HcmV?d00001 diff --git a/extras/scripts/mail_transfer/config_file.conf b/extras/scripts/mail_transfer/config_file.conf new file mode 100644 index 0000000000..6169ee2a77 --- /dev/null +++ b/extras/scripts/mail_transfer/config_file.conf @@ -0,0 +1,33 @@ +########################################### +### SMTP DATA +########################################### + +smtp_user devtest@artica.es +smtp_pass pass1212 +smtp_hostname mail.artica.es + +########################################### +### POP3 DATA +########################################### + +pop3_user devtest@artica.es +pop3_pass pass1212 +pop3_hostname mail.artica.es + +# Enable or disable SSL. 1 means Enabled, 0 Disabled +pop3_ssl 0 + +# SSL port +pop3_ssl_port 995 + +########################################### +### TO SEND INFO +########################################### +# Email receiver where to send the email +receiver_email devtest@artica.es + +########################################### +### PATH TO SAVE THE ATTACHED FILE +########################################### +# Desired path where the attached file will be stored +pathtosave /tmp/ diff --git a/extras/scripts/mail_transfer/mail_transfer.pl b/extras/scripts/mail_transfer/mail_transfer.pl new file mode 100755 index 0000000000..0efa048508 --- /dev/null +++ b/extras/scripts/mail_transfer/mail_transfer.pl @@ -0,0 +1,318 @@ +#!/usr/bin/perl +########################################################################## +# Pandora FMS Mail Transfer +# This is a tool for transfering Pandora FMS data files by mail (SMTP/POP) +########################################################################## +# Copyright (c) 2011 Artica Soluciones Tecnologicas S.L +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; version 2 +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +########################################################################## + +use strict; +use warnings; +use Net::SMTP; +use Mail::POP3Client; +use MIME::Parser; +$| = 1; + +# GLOBAL VARIABLES + +my $boundary='frontier'; + +####### FUNCTIONS ####### + +######################################################################## +## SUB check_args +## Checks the command line arguments given at the function call. +######################################################################## +sub check_args(){ + my $num_args = $#ARGV + 1; + my $action = $ARGV[0]; + my $conf_file = $ARGV[1]; + my $filename = $ARGV[2]; + my $error = "Usage: mail_transfer.pl {send|receive conf_file [FILE]}\n"; + my $error_conf_file = "conf_file does not exist or is not readable\n"; + my $error_filename = "File to send does not exist or is not readable\n"; + + if (($num_args < 2) || (($action ne "send") && ($action ne "receive"))) { + die $error; + } elsif ((!(-e $conf_file)) || (!(-r $conf_file))) { + die $error_conf_file; + } elsif (($action eq "send") && ((!(-e $filename)) || (!(-r $filename)))) { + die $error_filename; + } +} + +######################################################################## +## SUB parse_conf +## Reads the entire conf file and stores all the information given +######################################################################## +sub parse_conf ($$) { + + my $conf_file = $_[0]; + my $conf_hash = $_[1]; + + open (CONF, $conf_file); + my $line; + + while () + { + $line = $_; + # Get the smtp user + if ($line =~ /^smtp_user\s([a-zA-Z0-9\.\_\-\@]+)/) { + $conf_hash -> {smtp_user} = $1; + } + # Get the smtp pass + elsif ($line =~ /^smtp_pass\s(.+)/) { + $conf_hash -> {smtp_pass} = $1; + } + # Get the smtp hostname + elsif ($line =~ /^smtp_hostname\s([a-zA-Z0-9\.\_\-\@]+)/) { + $conf_hash -> {smtp_hostname} = $1; + } + # Get the pop3 user + elsif ($line =~ /^pop3_user\s([a-zA-Z0-9\.\_\-\@]+)/) { + $conf_hash -> {pop3_user} = $1; + } + # Get the pop3 pass + elsif ($line =~ /^pop3_pass\s(.+)/) { + $conf_hash -> {pop3_pass} = $1; + } + # Get the pop3 hostname + elsif ($line =~ /^pop3_hostname\s([a-zA-Z0-9\.\_\-\@]+)/) { + $conf_hash -> {pop3_hostname} = $1; + } + # Get the pop3 ssl flag to know if it's enabled or not + elsif ($line =~ /^pop3_ssl\s(0|1)/) { + $conf_hash -> {pop3_ssl} = $1; + } + # Get the pop3 ssl port + elsif ($line =~ /^pop3_ssl_port\s([0-9]{1,5})/) { + $conf_hash -> {pop3_ssl_port} = $1; + } + # Get the path where to save the attached file + elsif ($line =~ /^pathtosave\s(.+)/) { + $conf_hash -> {pathtosave} = $1; + } + # Get the receiver's email where to send the attached file + elsif ($line =~ /^receiver_email\s([a-zA-Z0-9\.\_\-\@]+)/) { + $conf_hash -> {receiver_email} = $1; + } + } + close CONF; +} + +######################################################################## +## SUB send_mail +## Sends an attachement file via email using smtp +######################################################################## +sub send_mail($) { + + my $conf_hash = $_[0]; + my $smtp; + my $attachment = $conf_hash -> {filename}; + + # Get the filename in case the full path was given + # Split the full path with '/', the last item will be the filename + my @file_path = split ('/', $attachment); + + # Get the array's last position with '-1' index + my $attach_file = $file_path[-1]; + + my $host = $conf_hash -> {smtp_hostname}; + my $from = $conf_hash -> {smtp_user}; + my $password = $conf_hash -> {smtp_pass}; + my $to = $conf_hash -> {receiver_email}; + + open(DATA, $attachment) || die("mail_transfer.pl: ERROR: Could not open the file $attach_file"); + my @xml = ; + close(DATA); + + $smtp = Net::SMTP->new($host, + Hello => $host, + Timeout => 30, + Debug => 0, + ) || die("mail_trasfer.pl: ERROR: Could not connect to $host"); + + $smtp->auth($from, $password); + $smtp->mail($from); + $smtp->to($to); + $smtp->data(); + $smtp->datasend("To: $to\n"); + $smtp->datasend("From: $from\n"); + $smtp->datasend("Subject: Pandora mail transfer\n"); + $smtp->datasend("MIME-Version: 1.0\n"); + $smtp->datasend("Content-Type: application/text; name=" . $attach_file . "\n"); + $smtp->datasend("Content-Disposition: attachment; filename=" . $attach_file . "\n"); + $smtp->datasend("Content-type: multipart/mixed boundary=" . $boundary . "\n"); + $smtp->datasend("\n"); + $smtp->datasend("@xml\n"); + $smtp->dataend() || print "mail_transfer.pl: ERROR: Data end failed: $!"; + $smtp->quit; +} + +######################################################################## +## SUB receive_mail +## Fetch the last email with 'Pandora mail transfer' as subject and +## download the attached file into the specified folder +######################################################################## +sub receive_mail ($) { + + my $conf_hash = $_[0]; + my $user = $conf_hash -> {pop3_user}; + my $password = $conf_hash -> {pop3_pass}; + my $host = $conf_hash -> {pop3_hostname}; + my $ssl = $conf_hash -> {pop3_ssl}; + my $ssl_port = $conf_hash -> {pop3_ssl_port}; + my $pathtosave = $conf_hash -> {pathtosave}; + my $pop3; + + if ($ssl == 1){ + $pop3 = new Mail::POP3Client( + USER => $user, + PASSWORD => $password, + HOST => $host, + USESSL => 1, + PORT => $ssl_port, + DEBUG => 0 + ) or die "mail_transfer.pl: Connection failed\n"; + } else { + $pop3 = new Mail::POP3Client( + USER => $user, + PASSWORD => $password, + HOST => $host, + USESSL => 0, + PORT => 110, + DEBUG => 0 + ) or die "mail_transfer.pl: Connection failed\n"; + } + + my $tot_msg = $pop3->Count(); + + if ($tot_msg == 0){ + print "No more emails avalaible\n"; + return (0); # End program + } + elsif ($tot_msg eq '0E0'){ + print "No new emails available\n"; + return (0); + } + else{ + printf "There are $tot_msg messages \n\n"; + } + + # the list of valid file extensions. we do extensions, not + # mime-types, because they're easier to understand from + # an end-user perspective (no research is required). + + my $valid_exts = "txt xml data"; + my %msg_ids; # used to keep track of seen emails. + + # create a subdirectory if does not exist + #print "Using directory '$pathtosave' for newly downloaded files.\n"; + if (!(-d $pathtosave)) { + mkdir($pathtosave, 0777) or die "mail_transfer.pl: Error creating output directory\n"; + } + + # get the message to feed to MIME::Parser. + my $msg = $pop3->HeadAndBody($tot_msg); + my $header = $pop3->Head($tot_msg); + + if (($header !~ /Subject:\sPandora\smail\stransfer/) || ($header !~ /boundary=$boundary/)) { + print "Deleting message not valid\n"; + + # delete current email + $pop3->Delete($tot_msg); + + # clean up and close the connection. + $pop3->Close; + + return -1; + + } + + # create a MIME::Parser object to + # extract any attachments found within. + my $parser = new MIME::Parser; + + $parser->output_dir($pathtosave); + my $entity = $parser->parse_data($msg); + + # extract our mime parts and go through each one. + my @parts = $entity->parts; + + foreach my $part (@parts) { + + # determine the path to the file in question. + my $path = ($part->bodyhandle) ? $part->bodyhandle->path : undef; + + # move on if it's not defined, + # else figure out the extension. + next unless $path; + $path =~ /\w+\.([^.]+)$/; + my $ext = $1; + next unless $ext; + + # we continue only if our extension is correct. + my $continue; $continue++ if $valid_exts =~ /$ext/i; + + # delete the blasted thing. + unless ($valid_exts =~ /$ext/) { + print " Removing unwanted filetype ($ext): $path\n"; + unlink $path or print " > Error removing file at $path: $!."; + next; # move on to the next attachment or message. + } + + # a valid file type. yummy! + print " Keeping valid file: $path.\n"; + } + + # delete current email + $pop3->Delete($tot_msg); + + # clean up and close the connection. + $pop3->Close; +} + + +####### MAIN ####### + +# Check the given command line arguments +check_args(); + +# Once checked store them +my $action = $ARGV[0]; +my $conf_file = $ARGV[1]; +my $filename = $ARGV[2]; + +# If the action is 'send', store the 'file_to_send' +my %conf_hash; +if ($action eq "send") { + $conf_hash {filename} = $filename; +} + +# Parse the config file +parse_conf($conf_file, \%conf_hash); + +# Call 'send_mail' function in its case +if ($action eq "send") { + send_mail(\%conf_hash); +} + +# Or call the 'receive_mail' function. +my $returncode = 1; + +if ($action eq "receive") { + while ($returncode != 0) { + $returncode = receive_mail(\%conf_hash); + } +}