#!/usr/bin/perl
#DATA: 11/01/2005
#AUTORE: Vittorio Zuccala' <perlmonk@nathanvi.it>
#LICENZA: GPL
#VERSIONE: 0.1
#
#INSTALLAZIONE: Copia lo script in una cartella
# Donagli i permessi 'chmod 755 /bin/Mp3WavOgg.pl'
# Configura le variabili all'interno dello script nella sezione VARIABILI
# Ora lo script e' pronto per funzionare.
#
#FUNZIONE: Spedisce ad uno o piu' indirizzi mail una mail con una serie di files
# allegati all'interno di una directory
#
#USO: DOPO AVER EDITATO LE VARIABILI QUI SOTTO, da shell scrivi "spedisci.pl"
#
#PARAMETRI: Nessuno; i parametri sono da specificare nelle variabili all'interno dello script piu' in basso
#
#COMMENTI: Questo programma serve per spedire una serie di allegati ad un indirizzo.
# Potrebbe essere interessante mettere questo programma nel cron di
# sistema nel caso di un sistema linux o nelle operazioni pianificate
# di windows per dare frquenza alla operazione.
# Puo' anche essere utile associare nel server in cui arriva la mail
# uno script che riceva la mail e la smisti...
# Ho creato anche uno script del genere che si chiama "ricevi.pl"
#
#DIPENDENZE: Moduli richiesti:
# File::Find -> Installato di default
# MIME::Lite -> Da installare
use File::Find;
use MIME::Lite;
#################################################################################
#
# VARIABILI DA CONFIGURARE
#
#################################################################################
# Variabili per la spedizione della mail
$smtp='smtp.server_tuo.it';
$mittente='emai@tuaditta.it';
$destinatario='emai@tuaditta.it';
$cc = '';
$oggetto ="File Richiesti";
$messaggio="Ecco i files richiesti\n";
# Elenco di directory nelle quali ricercare i files.
# Puo' essere anche una sola
@dir=(
"C:\\Documents and Settings\\dip8a01015\\Dati applicazioni\\Mozilla\\Firefox\\Profiles\\onemz83m.default\\Calendar\\",
);
# Elenco delle parti di files da ricercare.
# In questo caso cerco tutti i file con estensione .ics e che contengono le lettere rdf
@part=(
'.ics',
'rdf',
);
#################################################################################
#
# DA QUI IN POI NON ALTERARE LO SCRIPT
#
#################################################################################
$msg = MIME::Lite->new(
From => $mittente,
To => $destinatario,
Cc => $cc,
Subject => $oggetto,
Type =>'multipart/mixed'
);
MIME::Lite->send('smtp'=>$smtp , Timeout=>60);
$msg->attach( Type => 'text/plain',
Data => $messaggio);
$num=0;
find(\&trovato, @dir);
sub trovato{
foreach $slice (@part){
/$slice/ &&
$msg->attach( Type => 'AUTO',
Path => $File::Find::name,
Filename => $_
) &&
$num++;
}
}
$msg->send;
print "Ho spedito un messaggio con $num allegati!\n";
print "Grazie per aver utilizzato lo script\n\n";
--
VittorioZuccala - 11 Jan 2005