Inviare mail con JavaMail

Un semplice processo che rimane in attesa di modifiche su una cartella e invia una mail se viene aggiunto un file. Utile per monitorare dei download o dei log, per esempio

JavaMail è un completo set di api per controllare i protocolli e-mail (pop3, imap, smtp).
Noi vedremo come sia semplice inviare una mail testuale, utilizzando questa possibilità per monitorare una directory. Partiamo dal codice del metodo che ci permette di inviare una e-mail:

Il codice non necessita di troppi commenti, si tratta di settare come proprietà do sessione l’indirizzo del server smtp a cui rivolgersi e creare un messaggio, su cui settare tutte le proprietà necessarie: mittente, destinatari, subject e body della mail. Quindi il metodo statico Transport.send(msg)provvederà all’invio.

Utilizziamo ora questo metodo per inviare una mail se il contenuto di una data directory è cambiato. Dobbiamo semplicemente controllare periodicamente se i files contenuti nella cartella sono gli stessi o se qualcuno è stato aggiunto o rimosso.

Il metodo File.list() ci restituisce un array con i nomi dei files contenuti nella cartella, un semplice confronto fra array (per comodità convertiti in vettori) ci fornisce i cambiamenti. Ovviamente invieremo la mail solo in caso di effettivo cambiamento.

Un processo da avviare e lasciare in background, per sapere anche da remoto cosa succede alla nostra cartella dei downloads o di log.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *