Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum2 -- CercaGlobale -- Informativa su Cookie e Privacy

Questo Forum1 è in sola lettura -- Usa il Forum2


//Removed by EUCookieLaw Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Invio in automatico di un file con posta elettronica
#1
Salve,
ogni giorno redigo il cronoprogramma di servizio per il giorno dopo. Il file pdf lo nomino con la data (1, 2, 10, 30 ecc.) e lo salvo in una cartella (gennaio, febbraio ecc.). La stampa del file, invece, la affiggo in bacheca, alla visione di tutti i colleghi.
Poichè il sistema dell'affissione del cartaceo in bacheca mi sembra antiquato vorrei inviare il cronoprogramma per posta elettronica a tutti i colleghi.
Vorrei chiedervi se esiste un'applicazione o uno script in grado di fare questo in automatico.
Lo script, per esempio, dovrebbe puntare una cartella specifica, allegare il file più recente all'E-Mail (o quello che ha il numero più alto) ed inviarlo ad una mailing-list. Cron manderebbe in esecuzione lo script all'ora prefissata.
Qualcuno ha un'idea [img]images/smilies/huh.gif[/img]
Saluti, Franco


 

 

 

 
¤*¨¨*¤.¸¸...¸.¤\
\¸ ♥ LINUX ♥ .\
..\¸.¤*¨¨*¤.¸¸.¸.¤*.\
....\
☻/
/▌
/ \
http://www.ipapuglia.it/smf
Cita messaggio
#2
provo a spostare sulla sezione degli script, magari qualcuno saprà aiutarti. ciao
 Trasferito sul Nuovo Forum [img]images/smilies/blush.gif[/img]
Cita messaggio
#3
per farlo puoi utilizzare mailx, un semplice programma di posta da terminale, in abbinamento ad uno script per selezionare il file da inviare.
per scrivere lo script, o almeno una bozza dello stesso servono alcune piccole info:
le cartelle dei mesi hanno il nome scritto tutto in minuscolo e sono racchiuse all'interno di una cartella che identifica l'anno?
indicativamente quale è il numero di persone che dovrebbero ricevere la mail? sono sempre le stesse oppure la lista puo variare?
Linux User # 207701 - Ubuntu User # 27508 - Chiave pubblica GPG
Cita messaggio
#4
@ofranco: Se ti interessa ancora ho provato a scriverti uno script che dovrebbe risolvere i tuoi problemi. Lo posto in allegato.
copia/incolla in  un editor di testo tipo gedit, kate o altro e modifica le voci che ti interessano per adattarlo alle tue esigenze.
Ho inserito dei commenti d'aiuto, per maggiore chiarezza. Ci sono anche descritte le applicazioni che dovrai installare per l'uso dello script.
Naturalmente se qualcuno ha proposte e/o migliorie da apportare ben venga [img]images/smilies/exclamation.gif[/img]
Questo il codice dllo script:




Codice:
#!/bin/bash
#
# script per l'invio mail
#
# necessita dell'installazione di postfix con configurazione sito web, e di heirloon-mailx
# va poi creato un semplice file di testo che contenga gli indirizzi dei destinatari, vedi sotto.
# lo script va reso eseguibile con il comando "chmod +x nomefile"

#
# formisce la data del giornonel formato "DD" ovvero 01, 02, 11 etc
DT=$(date +%d)
# restituisce l'anno in cifre "AAAA"
DA=$(date +%Y)
# restituisce il mese in lettere completo
DM=$(date +%B)
#
# viene definita la directory del mese corrente. modificare la prima parte del percorso
# la versione attuale è cartelle/Anno/mese. Modificare solo la porzione
# che conduce alla cartella che contiene gli anni.
MTDIR=/home/pippo/$DA/$DM
#
# si sposta nella directory di lavoro
cd $MTDIR
#
#
# da inviare a:
# inserire il percorso al file di testo che contiene gli indirizzi
# gli indirizzi e-mail vanno scritti nel file separandoli da virgola, senza spazi
# ad es. pippo@bit.it,ciro@pop.it,etc
LISTA=~/home/pippo/lista.txt
#
# inserire il percorso al file che contiene il testo standard della mail
TST=~/home/pippo/testo.txt
#
#
# estre gli indirizzi dalla lista di testo
RIC=$(sort < $LISTA)
#
#
# mittente: inserire l'indirizzo mail del mittente
MIT=pippo@gmail.com
#
# destinatario principale della mail
DST=nico@gmail.com
#
#
# funzione per invio dell'allegato via mail
# modificare il testo "invio mensile" con un testo appropriato. lasciare lo spazio sottostante ed il punto.
# anche la voce "aggiornamento" puo essere modificata. Si riferisce al soggetto della mail. Se contenesse piu di
# una parola le stesse vanno racchiuse fra vergolette ad es.. "ultime notizie"
#
spedire() {
mailx -s aggiornamento -r $MIT -b $RIC -a $DT.pdf $DST <<EOF
invio mensile

.
EOF
}

# controllo esistenza del file odierno dei dati e spedizione
invio () {
if [ -e "$DT".pdf ];
then spedire;
echo "invio aggiornamento riuscito";
else echo "impossibile inviare aggiornamento";
fi
}
#
invio
#

Edit: 
Dimenticavo , se non esiste già devi creare un file a nome ".mailrc" nella tua home. Questo file contiene la tua configurazione per mailx (mittente, server della posta in uscita SMTP, cartelle locali della posta).
Ecco un esempio, da modificare in base alle tue esigenze:


Codice:
set MBOX=/home/pippo/Mail/ricevuta
set record=/home/pippo/Mail/spedita
set folder=/home/pippo/Mail
set record=+Sent
set from="pippo@posta.it"
set smtp=smtp.posta.it

come SMTP devi mettere quella del tuo provider internet. [img]images/smilies/exclamation.gif[/img]

 

 

 
Linux User # 207701 - Ubuntu User # 27508 - Chiave pubblica GPG
Cita messaggio
#5
Tongue 
Ho fatto una ricognizione su cosa mi poteva essere utile, in base alle mie necessità.
In particolare, nella cartella /share/Amministrazione/servizio/febbraio/ effettuo il salvataggio di tutti i file .pdf dei giorni di febbraio (01.pdf, 02.pdf, 03.pdf, ecc)
Inoltre nella stessa cartella inserisco anche il prospetto settimanale dei turni. La settimana che va dal 10 al 16 sarà 07_lun.pdf e così a seguire 08_lun.pdf per la settimana che va dal 17 al 23 febbraio.
Ogni giorno, alle 14.00 deve partire un'E-MAIL che raccoglie il file .pdf del giorno dopo e lo invia ad una mailinglist (tutti i dipendenti) Se trova il file della settimana successiva invia anche quello. Se non trova quest'ultimo, invia soltanto il .pdf giornaliero del giorno successivo a quello di invio.
Tutto ciò premesso, dalle ricerche che ho fatto sono riuscito a fare qualche passo in avanti. [img]images/smilies/sleepy.gif[/img]
Innanzitutto ho installato mutt, poi ho creato un file .txt nella home dove sono contenuti tutti gli indirizzi di posta elettronica dei dipendenti.
Ho copiato e personalizzato questo script:
  
Codice PHP:
#!/bin/bash
    
indirizzi='indirizzi.txt'   # file con un 'indirizzo;nome' per ogni riga
    
dir_pdf='/share/servizio'
    
domani_giorno=$(date -dtomorrow "+%d")
    
domani_mese=$(date -dtomorrow "+%B")
    
domani_anno=$(date -dtomorrow "+%Y")
    
oggetto="Disposizioni di servizio, PL"
    
allegato="${dir_pdf}/${domani_mese}/${domani_giorno}.pdf"
    
if [ -"$allegato]
       
then
          
echo "Allegato ok!"
       
else
          echo 
"Allegato non trovato: $allegato"
          
exit 1
    fi
    settimana_prossima
=$(date -d"next week" "+%V")
    
msg_prospetto=''
    
giorno_invio=$(date +%a# corrisponde al giorno della settimana corrente
    
settimanale="${dir_pdf}/${domani_mese}/${settimana_prossima}_${giorno_invio}.pdf"
    
if [ "$giorno_invio"lun" -"$giorno_invio"sab" # se venerd� o sabato
       
then
          
if [ -"$settimanale]
             
then
                
echo "Allegato2 ok!"
                
allegato2="$settimanale"
                
msg_prospetto=' e il prospetto per la prossima settimana'
             
else
                echo 
"Allegato2 non trovato: $allegato2"
                
allegato2=''
          
fi
    fi
    
while read indirizzo_nome
    
do

       if [[ 
$indirizzo_nome != '' ]]
          
then
             solo_indirizzo
=$(echo "$indirizzo_nomecut -';' -f1)
             
solo_nome=$(echo "$indirizzo_nomecut -';' -f2)
             
corpo_del_messaggio="Buon giorno $solo_nome, in allegato le disposizioni di servizio del giorno $domani_giorno ${domani_mese} ${domani_anno}${msg_prospetto}."
             
echo "invio a $solo_indirizzo di $solo_nome"
             
echo "$corpo_del_messaggiomutt -"$oggetto-"$allegato" "$allegato2-- "$solo_indirizzo"
             
sleep 30
       fi
   done 
"$indirizzi"
    
exit 
Ho un problema che non riesco a risolvere.
Lo script funziona solo se trova i due file (giornaliero e settimanale)
Se manca il settimanale non invia l'E-MAIL. Rileva la mancanza dell'Allegato2 e da il seguente errore:
Codice PHP:
franco@ServerLinux:~$ /home/franco/ScriptMail.sh
Allegato ok
!
Allegato2 non trovato:
invio a franco81256@alice.it di Convertini Franco
Impossibile fare stat di 
(null): Indirizzo errato
(null): impossibile allegare il file.
invio a convertini.franco@gmail.com di Franco Convertini
Impossibile fare stat di 
(null): Indirizzo errato
(null): impossibile allegare il file.
franco@ServerLinux:~$ ^C
franco
@ServerLinux:~$ 
Come posso risolvere?
Sapreste darmi una dritta?
Saluti, Franco

 
¤*¨¨*¤.¸¸...¸.¤\
\¸ ♥ LINUX ♥ .\
..\¸.¤*¨¨*¤.¸¸.¸.¤*.\
....\
☻/
/▌
/ \
http://www.ipapuglia.it/smf
Cita messaggio


Vai al forum: